$.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..");
The above regex does not differentiate between uppercase and lowercase. What’s wrong?
Remove the
iflag. It makes the RegEx case-insensitive. Also, extend[\W]to[\W_].