我正在编写jquery验证以创建一个强密码。我为特殊字符写了条件,但不起作用。我正在尝试如下。
"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$])[0-9a-zA-Z]{8,}$/,
"alertText": "*Password should contain atleast one special character,one number and one upper case letter",
我在使用
(?=.*[!@#$])
部分代码时遇到了麻烦。如果删除此正则表达式将起作用,但不会验证特殊字符。如果我没有输入(?=.*[!@#$])
,它将进行验证。总是出现错误弹出窗口。我不确定(?=.*[!@#$])
这部分。 最佳答案
模式结尾处的消费字符类([0-9a-zA-Z]
)与(?=.*[!@#$])
lookahead所需的特殊字符不匹配。在其中添加这些!@#$
字符:
"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$])[0-9a-zA-Z!@#$]{8,}$/
^^^^