6

我有一个正则表达式:

return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) {
    return $1.toUpperCase ( );
});

我收到以下 jslint 错误:

不安全'.'

是什么让字符集的否定“不安全”?

4

1 回答 1

4

您可以通过告诉 JSLint 忽略它来“修复”警告:添加regexp: true到文件顶部的 JSLint 设置中。

这是JSLint 对默认情况下为什么.[^...]生成警告的解释:

它们匹配的材料比预期的要多,从而使攻击者能够混淆应用程序。在安全应用程序中进行验证时,不应使用这些表单。

因此,如果您的正则表达式用于输入/表单验证,那么您可能需要注意警告并使用稍微不同的代码。如果您将它用于其他任何事情,则没有理由启用警告。

于 2013-04-23T19:41:34.297 回答