会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
行者-慧超
博客园
首页
新随笔
联系
订阅
管理
转载--用javascript实现评估用户输入密码的强度
<
script language
=
javascript
>
//
程序设计:环球万维 netInter.cn
//
本程序是环球万维原创程序,若需转载,请注明网址及出处,谢谢.
//
以上信息与文章正文是不可分割的一部分,所以如果您要转载本文章,您必须保留以上信息.
//
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;
}
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
=
Mcolor
=
M_color;
Hcolor
=
O_color;
break
;
default
:
Lcolor
=
Mcolor
=
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
;
}
</
script
>
<
form name
=
form1 action
=
""
>
输入密码:
<
input type
=
password size
=
10
onKeyUp
=
pwStrength(
this
.value) onBlur
=
pwStrength(
this
.value)
>
<
br
>
密码强度:
<
table width
=
"
217
"
border
=
"
1
"
cellspacing
=
"
0
"
cellpadding
=
"
1
"
bordercolor
=
"
#cccccc
"
height
=
"
23
"
style
=
'display:inline'
>
<
tr align
=
"
center
"
bgcolor
=
"
#eeeeee
"
>
<
td width
=
"
33%
"
id
=
"
strength_L
"
>
弱
</
td
>
<
td width
=
"
33%
"
id
=
"
strength_M
"
>
中
</
td
>
<
td width
=
"
33%
"
id
=
"
strength_H
"
>
强
</
td
>
</
tr
>
</
table
>
</
form
>
KidYang
posted @
2007-02-27 17:01
KidYang
阅读(
331
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告