标签:repeat keyword pass += ext 特殊字符 逆序 nbsp code
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等)‘)
}
4、密码中不能包含有连续四位及以上重复字符,字母不区分大小写;(如:密码中不能包含8888、9999、aaaa 或AAAA或BbbB或等四位及以上的重复字符)
//方法 isRepeat4Times(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.charAt(i) var u2 = pwd.charAt(i + 1) var u3 = pwd.charAt(i + 2) var u4 = pwd.charAt(i + 3) if (u1 === u2 && u2 === u3 && u3 === u4) return true } } } return false }
//用法
if (isRepeat4Times(password)) {
console.log(‘密码中不能包含有连续四位及以上重复字符,字母不区分大小写;(如:密码中不能包含8888、9999、aaaa 或AAAA或BbbB或等四位及以上的重复字符)‘)
}
标签:repeat keyword pass += ext 特殊字符 逆序 nbsp code
原文地址:https://www.cnblogs.com/adbg/p/11711937.html