【发布时间】:2012-05-29 06:02:21
【问题描述】:
我有一个正则表达式:
return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) {
return $1.toUpperCase ( );
});
我收到以下 jslint 错误:
不安全'.'
是什么让字符集的否定“不安全”?
【问题讨论】:
标签: javascript jslint
我有一个正则表达式:
return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) {
return $1.toUpperCase ( );
});
我收到以下 jslint 错误:
不安全'.'
是什么让字符集的否定“不安全”?
【问题讨论】:
标签: javascript jslint
您可以通过告诉 JSLint 忽略它来“修复”警告:将 regexp: true 添加到文件顶部的 JSLint 设置中。
这里是 JSLint's explanation,为什么 . 和 [^...] 默认会生成警告:
它们匹配的材料比预期的要多,从而使攻击者能够混淆应用程序。在安全应用程序中进行验证时,不应使用这些表单。
因此,如果您的正则表达式用于输入/表单验证,那么您可能需要注意警告并使用稍微不同的代码。如果您将它用于其他用途,则没有理由启用警告。
【讨论】: