密码强度检测js




今天自己做了一个JS密码强度判断,效果如下:


以下是代码:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <html>  
  2. <head>  
  3. <title>JS判断密码强度</title>  
  4. <script language=javascript>    
  5.     //判断输入密码的类型    
  6.     function CharMode(iN){    
  7.         if (iN>=48 && iN <=57//数字    
  8.             return 1;    
  9.         if (iN>=65 && iN <=90//大写    
  10.             return 2;    
  11.         if (iN>=97 && iN <=122//小写    
  12.             return 4;    
  13.         else    
  14.             return 8;     
  15.     }  
  16.     //bitTotal函数    
  17.     //计算密码模式    
  18.     function bitTotal(num){    
  19.         modes=0;    
  20.         for (i=0;i<4;i++){    
  21.             if (num & 1) modes++;    
  22.             num>>>=1;    
  23.         }  
  24.         return modes;    
  25.     }  
  26.     //返回强度级别    
  27.     function checkStrong(sPW){    
  28.         if (sPW.length<6)    
  29.             return 0//密码太短,不检测级别  
  30.         Modes=0;    
  31.         for (i=0;i<sPW.length;i++){    
  32.             //密码模式    
  33.             Modes|=CharMode(sPW.charCodeAt(i));    
  34.         }  
  35.         return bitTotal(Modes);    
  36.     }  
  37.     
  38.     //显示颜色    
  39.     function pwStrength(pwd){    
  40.         Dfault_color="#eeeeee";     //默认颜色  
  41.         L_color="#FF0000";      //低强度的颜色,且只显示在最左边的单元格中  
  42.         M_color="#FF9900";      //中等强度的颜色,且只显示在左边两个单元格中  
  43.         H_color="#33CC00";      //高强度的颜色,三个单元格都显示  
  44.         if (pwd==null||pwd==''){    
  45.             Lcolor=Mcolor=Hcolor=Dfault_color;  
  46.         }    
  47.         else{    
  48.             S_level=checkStrong(pwd);    
  49.             switch(S_level) {    
  50.             case 0:    
  51.                 Lcolor=Mcolor=Hcolor=Dfault_color;  
  52.                 break;  
  53.             case 1:    
  54.                 Lcolor=L_color;  
  55.                 Mcolor=Hcolor=Dfault_color;  
  56.                 break;    
  57.             case 2:    
  58.                 Lcolor=Mcolor=M_color;    
  59.                 Hcolor=Dfault_color;    
  60.                 break;    
  61.             default:    
  62.                 Lcolor=Mcolor=Hcolor=H_color;    
  63.         }    
  64.     }    
  65.     document.getElementById("strength_L").style.background=Lcolor;    
  66.     document.getElementById("strength_M").style.background=Mcolor;    
  67.     document.getElementById("strength_H").style.background=Hcolor;    
  68.     return;  
  69. }  
  70. </script>  
  71. </head>  
  72. <body>  
  73. <form name=form1 action="" >  
  74.     <table width="250" border="0" cellpadding=2" bordercolor="#eeeeee" style='display:inline'>  
  75.         <tr>  
  76.             <td width="40%" align="right">密码:</td>  
  77.             <td colspan="3" align="left">  
  78.                 <input type=password size=20 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>  
  79.             </td>  
  80.         </tr>   
  81.         <tr align="center">  
  82.             <td width="40%" align="right">密码强度:</td>  
  83.             <td width="20%" id="strength_L" bgcolor="#eeeeee">弱</td>    
  84.             <td width="20%" id="strength_M" bgcolor="#eeeeee">中</td>    
  85.             <td width="20%" id="strength_H" bgcolor="#eeeeee">强</td>    
  86.         </tr>  
  87.     </table>  
  88. </form>  
  89. </body>  
  90. </html>  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值