Как исправить сообщение jslint Insecure '.'
jslint сообщает сообщение Insecure '.'.
в строке
html = /<body.*?>([\s\S]*)<\/body>/.exec(responseText);
Как это исправить?
Обновление
После тела и перед закрывающей скобкой могут быть атрибуты so\s? не может использоваться. Javascript работает в браузере, используется jQuery.
Каков наилучший способ извлечь содержимое элемента тела из строки вместо этого?
Ответы
Ответ 1
Вы можете попробовать что-то вроде этого, если вы действительно хотите, чтобы он соответствовал всем и не нуждался в ошибке jslint.
var everything = /.*?/;// not jslint acceptable
var all = /[\w\W]*?/;// jslint acceptable
в основном он говорит любой символ слова и любой не-словный символ... который в значительной степени охватывает все.
Ответ 2
Вы можете добавить опции regexp: true
в jsLint. Просто добавьте строку в свой файл javascript, например:
/*jslint indent: 4, maxerr: 50, vars: true, regexp: true, sloppy: true */
Ответ 3
Эта проверка в JSLint существует, потому что если вы разрешаете любой char (.
) или любой char, за исключением некоторых указанных ([^x]
), вы можете получить совпадения, которых вы не ожидали. Если вы включили эту проверку в JSLint, вам нужно писать регулярные выражения, в которых явно указывается, что должно соответствовать.
Если вы не хотите отключать эту проверку, и хотите получить бесплатный текст LINT, определите, что вы считаете ОК, чтобы быть найденным между "y" "body" и скобкой угла закрытия, и писать ваше регулярное выражение таким образом.