https://secure.www.cartier.cn/zh-cn/服务/my-cartier/RegistrationStep1.html 我在RegEx下面使用jQuery验证来验证我的密码。
$.validator.addMethod("passwordTest", function(value, element) {
return this.optional(element) || /^(?=.*\d)[0-9a-zA-Z\!\@\#\$\%\^\&\*\)\(\+\=\.\_\-\?\}\{\]\[\>\<\"\\\/\'\:\;]{8,}$/i.test(value);
}, _objPropertiesMsg.passWeak);
适用于密码验证的规则,如CARE-8804中所述:
min 8 alphanumerical chars
combination of letters & numbers
no consecutive repeat of a char more than 2 times
它工作到8个字符但超过8个字符所有验证失败。 此外,它连续2次查询并接受仅8个号码失败。
答案 0 :(得分:0)
我想通常不是一个好主意,试着在一个正则表达式中检查所有条件。
相反,只需检查纯javascript的长度,正则表示检查连续两次不超过两次的字符,另一个确保至少有一个数字后跟非数字或其他方式:
$.validator.addMethod("passwordTest", function(value, element) {
return this.optional(element) || value.length>=8 && /^((.)\2?(?!\2))+$/i.test(value) && /(\d[^\d]|[^\d]\d)/.test(value);
}, _objPropertiesMsg.passWeak);
处有一个概念验证机器