日期:2014-05-16 浏览次数:20418 次
?
<%@ 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>
?