let baseStr = ['1234567890','qwertyuiop','asdfghjkl','zxcvbnm','!@#$%^&*()','QWERTYUIOP','ASDFGHJKL','ZXCVBNM'];
function testContinuousPassword(str){
var flag = false;
var strArray = str.split('');
var strlength = str.length
for(let i in baseStr){
for(var j=0;j<=strlength-3;j++){
var temp = strArray[j] + strArray[j+1] + strArray[j+2];
if(baseStr[i].indexOf(temp)>=0 || baseStr[i].indexOf(temp.split("").reverse().join(""))>=0){
flag = true;
break;
}
}
if(flag) break;
}
if(flag){
console.log('密码存在连续')
}else{
console.log('密码可以通过')
}
return flag;
}
function testSamePassword(str){
var flag = false;
var strArray = str.split('');
var strlength = str.length;
for(var j=0;j<=strlength-3;j++){
if((strArray[j] == strArray[j+1]) && (strArray[j] == strArray[j+2])){
flag = true;
break;
}
}
if(flag){
console.log('密码存在6位相同')
}else{
console.log('密码可以通过')
}
return flag;
}
function checkStrong(sPW) {
if (sPW.length < 8)
return 0; //密码太短
Modes = 0;
for (i = 0; i < sPW.length; i++) {
//测试每一个字符的类别并统计一共有多少种模式.
Modes |= CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes);
}
function CharMode(iN) {
if (iN >= 48 && iN <= 57) //数字
return 1;
if (iN >= 65 && iN <= 90) //大写字母
return 2;
if (iN >= 97 && iN <= 122) //小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num) {
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1) modes++;
num >>>= 1;
}
return modes;
}
07-13
1613
09-13