// 应客户的需求的,对密码进行强度的判断。首先,该密码的强度的判断不是网上常常出现的那种一边输入一边判断强度,而是密码从数据库里读出后影藏在前端页面里;其次,其实我也是在网上抄袭了一段,稍微修改了一下。
$(document).ready(function() {
checkStrong(); // 页面自动加载完成后调用该函数;下面有对该函数的具体定义.
});
// js 检测密码的安全度********start*********
//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()
{
var sPW = $("#sPW_PASSWD").val(); // html页面里影藏从数据库读取的密码;
if (sPW.length<=4)
return 0; //密码太短
Modes=0;
for (i=0; i<sPW.length; i++)
{
//测试每一个字符的类别并统计一共有多少种模式.
Modes|=CharMode(sPW.charCodeAt(i)); // 调用上面的CharMode函数
}
var pwd_strong = bitTotal(Modes); // 调用上面的CharMode函数 输出是2
if(pwd_strong == '1')
{
$("#pwd_color").removeClass().addClass("red_bar fl"); // 添加样式 用于提醒
$("#pwd_str").html("弱");
}
else if(pwd_strong == '2')
{
$("#pwd_color").removeClass().addClass("blue_bar fl");
$("#pwd_str").html("中");
}
else
{
$("#pwd_color").removeClass().addClass("green_bar fl");
$("#pwd_str").html("强");
}
return bitTotal(Modes);
}
// js 检测密码的安全度********end***********
html 代码
<input type="hidden" name="sPW_PASSWD" id="sPW_PASSWD" value="<{$res.PASSWD}>" />
<p class="fl">当前密码安全度:</p >
<p id="pwd_color" class="blue_bar fl"> </p><span id="pwd_str"></span>