会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
成为自己比什么都重要!
首页
::
新随笔
::
订阅
::
管理
用Javascript实现评估用户输入密码的强度
Posted on
2007-05-10 13:00
礼拜一
阅读(
954
) 评论(
0
)
编辑
收藏
举报
用Javascript实现评估用户输入密码的强度
<
script type
=
"
text/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)
{
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
>
刷新页面
返回顶部
Powered by:
博客园
Copyright © 2025 礼拜一
Powered by .NET 9.0 on Kubernetes