Jquery 验证不适用于特殊字符

Jquery validation not working for special characters

我正在写 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",

我在使用 (?=.*[!@#$]) 部分代码时遇到问题。如果我删除此正则表达式将起作用,但它不会验证特殊字符。如果我不输入 (?=.*[!@#$]) 任何内容,它就会生效。我总是收到错误弹出窗口。我不确定 (?=.*[!@#$]) 这部分。

您在模式末尾的消费字符 class ([0-9a-zA-Z]) 与您需要的特殊字符不匹配 (?=.*[!@#$]) 前瞻。在那里添加那些 !@#$ 个字符:

"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$])[0-9a-zA-Z!@#$]{8,}$/
                                                               ^^^^