javascript - Jquery 验证不适用于特殊字符

标签 javascript jquery regex client-side-validation

我正在编写 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]) 与您需要的特殊字符不匹配 (?=.* [!@#$]) 前瞻。在此处添加那些 !@#$ 字符:

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

关于javascript - Jquery 验证不适用于特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41760145/

相关文章:

javascript - 具有 css 属性的正则表达式

regex - R正则表达式删除除字母、撇号和指定的多字符字符串之外的所有内容

javascript - 是否可以在页面加载时调用函数

javascript - 使用 asp.net MVC 的 Angular 路由删除 url 上的哈希#

javascript - 使用任何文档类型,在 Internet Explorer 中的表中悬停行都很慢

Javascript 正则表达式从错误的起点匹配

javascript - 拆分字符串

javascript - Laravel 加载本地 css 和 js 资源非常慢

javascript - html2canvas 不捕获图像

jquery - 在 jQuery 中,如何在具有某些类的元素之间选择元素?