用JavaScript检测密码强弱
来源:互联网 发布:360wifi防蹭网软件 编辑:程序博客网 时间:2024/05/22 00:08
<table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#1A74A6"> <tr> <td bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="4" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td colspan="3" background="/images/admin/bg.gif" class="fontw" id="tit"> <strong>系统管理员 >> 密码修改</strong> </td> </tr> <form action="edit-savepass.asp" method="post" name="form1" id="form2"> <tr> <td bgcolor="#C5E0F3"> 用 户 名: </td> <td bgcolor="#C5E0F3"> QQ用户__7066FB0026CFDD7AB0C3F944D600C8BB </td> <td bgcolor="#C5E0F3"> <div id="copsw"> </div> </td> </tr> <tr> <td bgcolor="#C5E0F3"> 旧 密 码: </td> <td bgcolor="#C5E0F3"> <input name="opsw" type="password" class="inp" id="opsw" onfocus="this.className='focus'" onblur="this.className='inp';out_opsw()" size="40" maxlength="16" style="width: 240px;" /> </td> <td bgcolor="#C5E0F3"> <div id="copsw"> </div> </td> </tr> <tr> <td bgcolor="#C5E0F3"> 新 密 码: </td> <td bgcolor="#C5E0F3"> <input name="admin_psw" type="password" class="inp" id="admin_psw" onfocus="this.className='focus'" onblur="this.className='inp';pwStrength(this.value);out_admin_psw()" onkeyup="pwStrength(this.value)" size="40" maxlength="16" style="width: 240px;" /> </td> <td bgcolor="#C5E0F3"> <div id="cadmin_psw"> </div> </td> </tr> <tr> <td bgcolor="#C5E0F3"> </td> <td bgcolor="#C5E0F3"> <table width="180" border="0" cellspacing="1" cellpadding="1"> <tr bgcolor="#EFEFEF"> <td align="center" id="strength_L"> 弱 </td> <td align="center" id="strength_M"> 中 </td> <td align="center" id="strength_H"> 强 </td> </tr> </table> </td> <td bgcolor="#C5E0F3"> </td> </tr> <tr> <td bgcolor="#C5E0F3"> 重复密码: </td> <td bgcolor="#C5E0F3"> <input name="admin_psw1" type="password" class="inp" id="admin_psw1" onfocus="this.className='focus'" onblur="this.className='inp';out_admin_psw1()" size="40" maxlength="16" style="width: 240px;" /> </td> <td bgcolor="#C5E0F3"> <div id="cadmin_psw1"> </div> </td> </tr> <tr> <td colspan="3" bgcolor="#C5E0F3"> <div id="msg"> </div> </td> </tr> <tr> <pre name="code" class="html"></pre> <br> <td colspan="3" bgcolor="#C5E0F3"> <input name="go" type="submit" class="button_1" id="go" value="提交" onmouseover="this.className='button_2'" onmouseout="this.className='button_1'"><input name="reset" type="reset" class="button_1" id="reset" value="重置" onmouseover="this.className='button_2'" onmouseout="this.className='button_1'" /> </td> </tr> </form> </table> </td> </tr></table><script language="javascript" event="onkeydown" for="document"> if(event.keyCode==13&&event.srcElement.type!='button'&&event.srcElement.type!='submit'&&event.srcElement.type!='reset'&&event.srcElement.type!='textarea'&&event.srcElement.type!='')pswc();</script></body></html><br><br><pre name="code" class="html"><pre name="code" class="html"><script language="javascript"> //CharMode函数 //测试某个字符是属于哪一类. 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; } //checkStrong函数 //返回密码的强度级别 function checkStrong(sPW){ if (sPW.length<=6) return 0; //密码太短 Modes=0; for (i=0;i<sPW.length;i++){ //测试每一个字符的类别并统计一共有多少种模式. Modes|=CharMode(sPW.charCodeAt(i)); } return bitTotal(Modes); } //pwStrength函数 //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色 function pwStrength(pwd){ O_color="#eeeeee"; L_color="#FF0000"; M_color="#FF9900"; H_color="#33CC00"; if (pwd==null||pwd==''){ Lcolor=Mcolor=Hcolor=O_color; } else{ S_level=checkStrong(pwd); switch(S_level) { case 0: Lcolor=Mcolor=Hcolor=O_color; case 1: Lcolor=L_color; Mcolor=Hcolor=O_color; break; case 2: Lcolor=Mcolor=M_color; Hcolor=O_color; break; default: Lcolor=Mcolor=Hcolor=H_color; } } GE("strength_L").style.background=Lcolor; GE("strength_M").style.background=Mcolor; GE("strength_H").style.background=Hcolor; return; } </script></pre> <pre></pre> <br> <br> <br> <pre></pre> <br> <br> </pre>