js實(shí)現(xiàn)密碼強(qiáng)度檢測

字號:


    這篇文章主要介紹了js實(shí)現(xiàn)密碼強(qiáng)度檢測的相關(guān)實(shí)例,第一個例子給出了全部代碼,可以直接運(yùn)行,第二個例子只給出了js代碼,感興趣的碼農(nóng)可以自己完成第二個實(shí)例。
    第一個實(shí)例
    這段JavaScript代碼比較實(shí)用,它完成用戶注冊時判斷用戶輸入密碼的強(qiáng)度,分強(qiáng)、弱、中三等級,它可以根據(jù)用戶輸入的密碼顯示對應(yīng)的密碼強(qiáng)弱等級,方便用戶改進(jìn)輸入。
    實(shí)現(xiàn)代碼:
    <html>
    <head>
    <title>JS判斷密碼強(qiáng)度</title>
    <script language=javascript> 
    //判斷輸入密碼的類型 
    function CharMode(iN){ 
    if (iN>=48 && iN <=57) //數(shù)字 
    return 1; 
    if (iN>=65 && iN <=90) //大寫 
    return 2; 
    if (iN>=97 && iN <=122) //小寫 
    return 4; 
    else 
    return 8; 
    } 
    //bitTotal函數(shù) 
    //計(jì)算密碼模式 
    function bitTotal(num){ 
    modes=0; 
    for (i=0;i<4;i++){ 
    if (num & 1) modes++; 
    num>>>=1; 
    } 
    return modes; 
    } 
    //返回強(qiáng)度級別 
    function checkStrong(sPW){ 
    if (sPW.length<=4) 
    return 0; //密碼太短 
    Modes=0; 
    for (i=0;i<sPW.length;i++){ 
    //密碼模式 
    Modes|=CharMode(sPW.charCodeAt(i)); 
    } 
    return bitTotal(Modes); 
    } 
      
    //顯示顏色 
    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; 
    } 
    } 
    document.getElementById("strength_L").style.background=Lcolor; 
    document.getElementById("strength_M").style.background=Mcolor; 
    document.getElementById("strength_H").style.background=Hcolor; 
    return; 
    } 
    </script>
    </head>
    <body> 
    <form name=form1 action="" > 
    密碼:<input type=password size=8 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> 
    <br>密碼強(qiáng)度: 
    <table width="210" cellspacing="0" cellpadding="1" bordercolor="#eeeeee" height="22" style='display:inline'> 
    <tr bgcolor="#f5f5f5"> 
    <td width="33%" id="strength_L">弱</td> 
    <td width="33%" id="strength_M">中</td> 
    <td width="33%" id="strength_H">強(qiáng)</td> 
    </tr> 
    </table> 
    </form>
    </body>
    </html>
    第二個實(shí)例:
    <script>
    function AuthPasswd(string) {
      if (string.length >= 6) {
        if (/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string) && /\W+\D+/.test(string)) {
          noticeAssign(1);
        } else if (/[a-zA-Z]+/.test(string) || /[0-9]+/.test(string) || /\W+\D+/.test(string)) {
          if (/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string)) {
            noticeAssign( - 1);
          } else if (/\[a-zA-Z]+/.test(string) && /\W+\D+/.test(string)) {
            noticeAssign( - 1);
          } else if (/[0-9]+/.test(string) && /\W+\D+/.test(string)) {
            noticeAssign( - 1);
          } else {
            noticeAssign(0);
          }
        }
      } else {
        noticeAssign(null);
      }
    }
    function noticeAssign(num) {
      if (num == 1) {
        $('#weak').css({
          backgroundColor: '#009900'
        });
        $('#middle').css({
          backgroundColor: '#009900'
        });
        $('#strength').css({
          backgroundColor: '#009900'
        });
        $('#strength').html('很強(qiáng)');
        $('#middle').html('');
        $('#weak').html('');
      } else if (num == -1) {
        $('#weak').css({
          backgroundColor: '#ffcc33'
        });
        $('#middle').css({
          backgroundColor: '#ffcc33'
        });
        $('#strength').css({
          backgroundColor: ''
        });
        $('#weak').html('');
        $('#middle').html('中');
        $('#strength').html('');
      } else if (num == 0) {
        $('#weak').css({
          backgroundColor: '#dd0000'
        });
        $('#middle').css({
          backgroundColor: ''
        });
        $('#strength').css({
          backgroundColor: ''
        });
        $('#weak').html('弱');
        $('#middle').html('');
        $('#strength').html('');
      } else {
        $('#weak').html(' ');
        $('#middle').html(' ');
        $('#strength').html(' ');
        $('#weak').css({
          backgroundColor: ''
        });
        $('#middle').css({
          backgroundColor: ''
        });
        $('#strength').css({
          backgroundColor: ''
        });
      }
    } < /script>
    以上這篇js實(shí)現(xiàn)密碼強(qiáng)度檢測【附示例】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考