Jquery验证密码强度大写和小写

Dev*_*eja 3 javascript regex jquery case-sensitive jquery-validate

$.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..");
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*b W 9

删除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);
Run Code Online (Sandbox Code Playgroud)