我有一个正则表达式:
return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) {
return $1.toUpperCase ( );
});
我得到了以下jslint错误:
不安全'.'
是什么使得对字符集的否定使用“不安全”?
答案 0 :(得分:4)
您可以通过告知JSLint忽略它来“修复”警告:将regexp: true
添加到文件顶部的JSLint设置中。
以下JSLint's explanation为.
和[^...]
默认生成警告的原因:
它们匹配的材料超出预期,允许攻击者混淆应用程序。在安全应用程序中进行验证时,不应使用这些表单。
因此,如果您的正则表达式用于输入/表单验证,那么您可能需要注意警告并使用稍微不同的代码。如果您将其用于其他任何事情,则没有理由启用警告。