Js判断密码强度代码
以前不知道密码强度是怎么搞的,今天看了一下网上写的,好像是这样的,就4个模式
数字,小写字母,大写字母,其他字符
只出现其中的一种为弱
出现其中2种为中
出现2种以上为高
1 /*每个字符对应的模式 => 1,2,4,8对应二进制*/ 2 function everycharmod(i){ 3 if(i >= 'a' && i <= 'z'){ 4 return 1; 5 }else if(i >= 'A' && i <= 'Z'){ 6 return 2; 7 }else if(i >= '0' && i <= '9'){ 8 return 4; 9 }else{ 10 return 8; 11 } 12 } 13 14 function everystrmod(num){ 15 var mod = 0; 16 for(var i = 0;i < 4; i++){ 17 if(num & 1)mod++; 18 num = num >> 1; 19 } 20 return mod; 21 } 22 23 function getstrmod(str){ 24 var mod = 0; 25 for(var i = 0;i < str.length ; i++){ 26 mod |= everycharmod(str[i]); 27 } 28 return everystrmod(mod); 29 } 30 31 $(function(){ 32 alert(getstrmod('1234zzzG!')); 33 });
搞了个2进制,最后返回的是出现的模式种数,接着来自己去设置样式。