Как исправить сообщение 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" и скобкой угла закрытия, и писать ваше регулярное выражение таким образом.