密碼的驗證

<%@ Page Language="C#"AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%> 

 

  

 

<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

 

  

 

<html xmlns="http://www.w3.org/1999/xhtml"> 

 

<head runat="server"> 

 

   <title>無標題頁</title> 

 

</head> 

 

<script language="javascript"type="text/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<=4)  

 

       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="#e0f0ff";  

 

       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>  

 

<body> 

 

   <form id="form1" runat="server"> 

 

    <div> 

 

        輸入密碼:<asp:TextBoxID="TextBox1" runat="server" onKeyUp=pwStrength(this.value)onBlur=pwStrength(this.value) ></asp:TextBox><br /> 

 

        密碼強度: 

 

        <table border="1"cellpadding="1" borderColorDark="#fdfeff"borderColorLight="#99ccff" cellspacing="1"style="width: 200px; display: inline; background-color:#e0f0ff"> 

 

            <tr> 

 

                <tdid="strength_L" style="width: 100px; height: 19px;"align="center"> 

 

                    弱</td> 

 

                <tdid="strength_M" style="width: 100px; height: 19px;"align="center"> 

 

                    中</td> 

 

                <tdid="strength_H" style="width: 100px; height: 19px;"align="center"> 

 

                    強</td> 

 

            </tr> 

 

        </table> 

 

    </div> 

 

    </form> 

 

</body> 

 

</html>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章