日期:2014-05-16  浏览次数:20314 次

js实现密码强度检测

?

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>密码强度检测实例</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type='text/javascript' src='js/jquery-latest.js'></script>
	<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){ 
	if (pwd==null||pwd==''){ 
		var result='安全系数危险!';
	} 
	else{ 
		S_level=checkStrong(pwd); 
		switch(S_level) { 
			case 0: 
				var result='安全系数危险!';
			case 1: 
				var result='安全系数低!'; 
				break; 
			case 2: 
				var result='安全系数中!'; 
				break; 
			default: 
				var result='安全系数高!'; 
		} 
	} 
	$("#result").html(result);
	return; 
	} 
</script> 


  </head>
  
  <body>
    <form name=form1 action="" > 
	输入密码: :<input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)/> 
	<br>密码强度: 
	<div id="result"></div>
	</form> 
  </body>
</html>

?