javascript - jquery验证密码强度大小写

标签 javascript jquery regex jquery-validate case-sensitive

$.validator.addMethod("validpassword", function(value, element) {
    return this.optional(element) ||
        /^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\W]).*$/i.test(value);
}, "The password must contain a minimum of one lower case character," +
           " one upper case character, one digit and one special character..");

上面的正则表达式不区分大写和小写。怎么了?

最佳答案

删除 i 标志。它使 RegEx 不区分大小写。此外,将 [\W] 扩展为 [\W_]

/^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\W]).*$/i.test(value);
//                                           Remove this   ^

// Ok:
/^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\W_]).*$/.test(value);

关于javascript - jquery验证密码强度大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830240/

相关文章:

javascript - <链接> 为 "react-router-dom 6.7.0"

javascript - 在 NW.JS 中从程序切换器中隐藏窗口

javascript - 以 this 作为参数的复选框开关不会保存更改 .checked 值

javascript - 否则如果在 JavaScript 中

javascript - javascript正则表达式中的冒号

java - 为什么 ^\s*$ 与 MULTILINE 不匹配 ""?

Java正则表达式匹配多行

jquery自动完成颜色变化

jquery - 它没有在添加的行中显示 A、B、C... 按钮,但我希​​望 A、B、C... 按钮不显示在顶部控件上

javascript - jQuery UI Sortable 无法将子项拖回父项