gpt4 book ai didi

javascript - 有没有办法让 JSLint 对这个正则表达式满意?

转载 作者:行者123 更新时间:2023-11-29 10:54:11 24 4
gpt4 key购买 nike

当通过 JSLint 运行我的 JavaScript 时,同一行代码出现以下两个错误。

Problem at line 398 character 29: Insecure '.'.

if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))

Problem at line 398 character 41: Unescaped '^'.

if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))

我知道 JSLint 可能“过于谨慎”了。我阅读了对类似问题的评论,Purpose of JSLint "disallow insecure in regex" option .

尽管如此,我还是希望拥有世界上最好的东西,并且拥有一个不会导致 JSLint 提示的有效正则表达式。

但我在正则表达式上失败了。

是否可以制作一个正则表达式来查找至少一个特殊字符的存在,同时又不会导致 JSLint 报错?

最佳答案

这是一个字符类;您不需要分隔符(例如:逗号)。您可以通过将插入符号 (^) 和破折号 (-) 放在重要位置来清理正则表达式,这样它们就不需要转义了。

/[!@#$%^&*?_~()-]/

应该可以。您还可以使用非单词字符类:

/\W/

匹配 任何 不是字母 (a-zA-Z)、数字 (0-9) 或下划线 (_).

关于javascript - 有没有办法让 JSLint 对这个正则表达式满意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com