table tr td style=width: 201px; height: 22px; valign=middle align=right 登录密码:bfont color=red*/font/b /td td align=left style=height: 22px input name=txtregistpwd1 type=password id=txtregistpwd1 class=wenbenkuang on
登录密码:*
密码强弱:
弱
中
强
// javascript document
// 测试某个字符是属于哪一类
function charmode(in)
{
if (in >= 48 && in return 1;
if (in >= 65 && in return 2;
if (in >= 97 && in return 4;
else
return 8;
// 特殊字符
}
// bittotal函数
// 计算出当前密码当中一共有多少种模式
function bittotal(num)
{
modes = 0;
for (i = 0; i {
if (num & 1) modes ++ ;
num >>>= 1;
}
return modes;
}
// checkstrong函数
// 返回密码的强度级别
function checkstrong(spw)
{
if (spw.length return 0;
// 密码太短
modes = 0;
for (i = 0; i {
// 测试每一个字符的类别并统计一共有多少种模式
modes |= charmode(spw.charcodeat(i));
}
return bittotal(modes);
}
// pwstrength函数
// 当用户放开键盘或密码输入框失去焦点时, 根据不同的级别显示不同的颜色
function pwstrength(pwd)
{
o_color = #cccccc;
l_color = #ff0000;
m_color = #ff9900;
h_color = #33cc00;
if (pwd == null || pwd == '')
{
lcolor = mcolor = hcolor = o_color;
}
else
{
s_level = checkstrong(pwd);
switch(s_level)
{
case 0 :
lcolor = mcolor = hcolor = o_color;
case 1 :
lcolor = l_color;
mcolor = hcolor = o_color;
break;
case 2 :
lcolor = o_color;
mcolor = m_color;
hcolor = o_color;
break;
default :
lcolor = o_color;
mcolor = o_color;
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;
}