С документации JSLint :
Они соответствуют большему количеству материала, чем можно было бы ожидать, что позволяет злоумышленникам перепутать приложения. Эти формы не должны использоваться при проверке в защищенных приложениях.
Похоже, что это основано на философии, которая заключается в том, чтобы конкретно указывать, что вы разрешаете вместо того, чтобы разрешать что-либо (включая многобайтовые и непечатаемые символы) с .
или разрешать что-либо, кроме x, y и z (как [^…]
означает )
С список рассылки JSLint :
Смысл этого в том, что некоторые люди не понимают, что .
и [^...]
означают в регулярных выражениях, так что это заставляет их код принимать
что-то действительное, если это не так, или отклонить что-то действительное.