密码验证不起作用

Password validation not working

本文关键字:不起作用 验证 密码      更新时间:2023-09-26

>https://secure.www.cartier.cn/zh-cn/服务/my-cartier/RegistrationStep1.html我正在使用下面的正则表达式来使用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 个数字。

我想尝试在一个

正则表达式中检查所有条件通常不是一个好主意。

相反,

只需使用纯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);

在 https://jsfiddle.net/jvL151ya/进行概念验证时有一台织机