我正在使用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!@#$%&*]
}, "");
答案 0 :(得分:2)
在以下两种模式中,先行确保字符串中至少包含一个小写字母,一个大写字母和一个数字。
marker
比赛:
^(?=.*[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!