1、密码复杂度要求:3种;(大写字母、小写字母、数字、特殊字符中任选3种)
//方法
isNotComplex(password){
if(password){
var comp = 0;
if(this.capLetter.test(password))
comp += 1;
if(this.lowLetter.test(password))
comp += 1;
if(this.numberReg.test(password))
comp += 1;
if(this.specialLetter.test(password))
comp += 1;
if(comp < 3)
return true;
}
return false;
}
//用法
if (isNotComplex(password)) {
console.log('密码必须包含大写字母、小写字母、数字、特殊字符中任选3种')
}
知识兔2、密码中不能包含有连续四位及以上顺序(或逆序)数字;(如:密码中不能包含1234或3210等)
//方法
checkNumSeq(password){
if(password){
var len = password.length;
for(var i = 0; i < len; ++i){
if(i + 3 < len){
var c1 = password.charAt(i) - 0;
var c2 = password.charAt(i + 1) - 0;
var c3 = password.charAt(i + 2) - 0;
var c4 = password.charAt(i + 3) - 0;
if(isNaN(c1) || isNaN(c2) || isNaN(c3) || isNaN(c4))
continue;
var m = c2 - c1;
if(m == 1 || m == -1){
if((c3 - c2) == m && (c4 - c3) == m)
return true;
}
}
}
}
return false;
}
知识兔//用法
if (checkNumSeq(password)) {
console.log('密码中不能包含有连续四位及以上顺序(或逆序)数字;(如:密码中不能包含1234或3210等)')
}
3、密码中不能包含有连续四位及以上顺序(或逆序)字母,字母不区分大小写;(如:密码中不能包含abcd或ABCD或AbcD或DcbA等)
//方法checkSeqChar(password){ if (password) { var pwd = password.toUpperCase() var len = pwd.length for (var i = 0; i < len; ++i) { if (i + 3 < len) { var u1 = pwd.charCodeAt(i) var u2 = pwd.charCodeAt(i + 1) var u3 = pwd.charCodeAt(i + 2) var u4 = pwd.charCodeAt(i + 3) var m = u2 - u1 if (m === 1 || m === -1) { if (u3 - u2 === m && u4 - u3 === m) return true } } } } return false}
//用法
if (checkSeqChar(password)) {
console.log('密码中不能包含有连续四位及以上顺序(或逆序)字母,字母不区分大小写;(如:密码中不能包含abcd或ABCD或AbcD或DcbA等)')
}