我正在使用 jquery validate 来验证我的密码字段。 我想要什么:
1) 密码必须至少包含一个大写字母
2) 密码必须至少包含一个小写字母
3) 密码必须至少包含一位数字
4) 并仅允许特殊字符(!@#$%&*)
这是我尝试过的,但即使我输入一个大写字母和一个数字,它也会验证:
$.validator.addMethod("letters_numbers_special", function(value, element) {
return this.optional(element) || /^(?:[a-zA-Z]|[a-zA-Z])[a-z0-9#$@!]+$/i.test(value);
//(?=.*[a-zA-Z\d].*)[a-zA-Z\d!@#$%&*]
}, "");
最佳答案
在下面的两种模式中,前瞻确保字符串中至少有一个小写字母、一个大写字母和一个数字。
- 如果不需要但允许使用特殊字符,您可以使用以下模式。
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9!@#$%& *]+$
匹配:
Gpa1
abc01A
不匹配:
donotmatchME!
apple2000@
<小时/>
- 如果您还需要至少一个特殊字符,则可以使用以下模式:
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*] )[a-zA-Z0-9!@#$%&*]+$
匹配:
Matchme2018!
regexIScool1!
不匹配:
donotmatchME!
apple2000@
Gpa1
abc01A
关于Jquery验证方法字母、数字和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51937464/