javascript使用者註冊時密碼強度測試

來源:互聯網
上載者:User
關鍵字 網頁製作 Ajax JavaScript

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


<html xmlns="HTTP://www.jzread.com/1999/xhtml">


<head id="Head1" 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);


//alert(S_level);


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">


<div>


輸入密碼:<input type="text" id="TextBox1" onkeyup="pwStrength(this.value)" onblur="pwStrength(this.value)">< br>


密碼強度:


<table border="1" cellpadding="1" bordercolordark="#fdfeff" bordercolorlight="#99ccff"


cellspacing="1" style="width: 200px; display: inline; background-color: #e0f0ff">


<tr>


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





</td>


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





</td>


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





</td>


</tr>


</table>


</div>


</form>


</body>


</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.