zoukankan
html css js c++ java
转载用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
查看全文
相关阅读:
android之下载416错误
eclipse之常用工具总结
php之Callback 回调类型
smarty的自定义函数
Unable to open sync connection异常
android之android Studio 安装后打不开的解决方法
android之ExpandableListView 的滑动到底部的精确监听事件
wampserver2.0下配置虚拟主机
wc之初认识
php开发中常见函数记录
原文地址:https://www.cnblogs.com/EasyLive2006/p/658521.html
最新文章
64位操作系统下IIS报“试图加载格式不正确的程序”错误
十款经典响应式网页设计案例欣赏[转CSDN]
为程序员量身定制的12个目标(CSDN)
The Mystery of the Duqu Framework
XAF中如何实现Action创建一个可以编辑外连接对象的detail
[转 改] Perl初级教程 (三)
SQL Server DBCC & Count (*) Count(1) ,Select Count(column)
[转] 数学英语词汇
[转 改] Perl初级教程 (二)
SQL2008 TSQL Note
热门文章
[转 改] Perl初级教程 (一)
[转 改] Perl初级教程 (四)
SQL Server 汉字 问号
解决 SQL Server Web Service is not configured.
解决 NET FTP Response error: (503) .
Visual Studio 2008 进行单元测试之测试私有方法
错误:程序中调用WebService返回“http 401 Access Denied”解决办法
关于:“无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。”的问题
TinyXML应用例子
android之fragment
Copyright © 2011-2022 走看看