javascript實現密碼強度

<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

	<head>

		<title>passwordTest</title>

	</head>

	<style>

		body{

			font-size:12;

			}

		td{

			vertical-align:middle;

			font-size:12;

		}

	</style>

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

		L_color="#FF0000"; 

		M_color="#FF9900"; 

		H_color="#33CC00"; 

		if (pwd==null||pwd==""){ 

			Lcolor=Mcolor=Hcolor=O_color; 

			document.getElementById("trDiv").style.display="none";

			document.getElementById("strongId").innerHTML="" ;

		} 

		else{ 

			document.getElementById("trDiv").style.display="" ;

			S_level=checkStrong(pwd); 

			switch(S_level) { 

				case 0: 

					Lcolor=Mcolor=Hcolor=O_color;

				case 1: 

					Lcolor=L_color; 

					Mcolor=Hcolor=O_color; 

					document.getElementById("strongId").innerHTML="弱" ;

					break; 

				case 2: 

					Lcolor=Mcolor=M_color; 

					Hcolor=O_color; 

					document.getElementById("strongId").innerHTML="中" ;

					break; 

				default: 

					Lcolor=Mcolor=Hcolor=H_color; 

					document.getElementById("strongId").innerHTML="強" ;

			} 

		} 	

		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 name=form1 action="">

			輸入密碼:

			<input type=password size=20 maxlength="20"

				onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>



			<table width="200" border="0" cellspacing="0" cellpadding="0"

				height="20" style=display:inline>

				<tr align="center" bgcolor="#eeeeee" id="trDiv"

					style="display:none;">

					<td></td>

					<td width="33%" id="strength_L">

					</td>

					<td width="33%" id="strength_M">

						<div id="strongId" />

					</td>

					<td width="33%" id="strength_H">

					</td>

				</tr>

			</table>



		</form>

	</body>

</html>

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