您的位置:首页 > Web前端 > JavaScript

JavaScript下正则表达式密码强度验证

2010-10-20 09:02 666 查看
在用户注册时,为了最大化的协助用户设置安全有效的密码,往往会加一个密码强度验证,下面是一个由正则表达式对密码的验证,返回长度代表密码强度。

var
getStrength =
function
(
passwd) {

intScore =
0
;

if
(
passwd.
match
(/[
a-
z]/))
// [verified] at least one lower case letter

{

intScore = (
intScore+
1
)

}
if
(
passwd.
match
(/[
A-
Z]/))
// [verified] at least one upper case letter

{

intScore = (
intScore+
5
)

}
// NUMBERS

if
(
passwd.
match
(/
/d+/))
// [verified] at least one number

{

intScore = (
intScore+
5
)

}
if
(
passwd.
match
(/(
/d.*
/d.*
/d)/))
// [verified] at least three numbers

{

intScore = (
intScore+
5
)

}
// SPECIAL CHAR

if
(
passwd.
match
(/[!,
@#$%
^&*
?_~]/))
// [verified] at least one special character

{

intScore = (
intScore+
5
)

}
if
(
passwd.
match
(/([!,
@#$%
^&*
?_~].*[!,
@#$%
^&*
?_~])/))
// [verified] at least two special characters

{

intScore = (
intScore+
5
)

}
// COMBOS

if
(
passwd.
match
(/[
a-
z]/) &&
passwd.
match
(/[
A-
Z]/))
// [verified] both upper and lower case

{

intScore = (
intScore+
2
)

}
if
(
passwd.
match
(/
/d/) &&
passwd.
match
(/
/D/))
// [verified] both letters and numbers

{

intScore = (
intScore+
2
)

}
// [Verified] Upper Letters, Lower Letters, numbers and special characters

if
(
passwd.
match
(/[
a-
z]/) &&
passwd.
match
(/[
A-
Z]/) &&
passwd.
match
(/
/d/) &&
passwd.
match
(/[!,
@#$%
^&*
?_~]/))

{

intScore = (
intScore+
2
)

}

return
intScore;

}

-----------------------------------------------------------------------

<tr>

<th nowrap style="HEIGHT: 25px">

新邮箱密码:

</th>

<td noWrap align="left" bgColor="#ffffff">

<input name="txtNewPwd" id="txtNewPwd"
onmouseout="this.className='box1'" onkeyup="pwStrength(this.value)"
maxlength="16" class="newufeild" onmouseover="this.className='box2'"
onblur="showTipMessage(false) " onfocus="showTipMessage(true)"
type="password" size="30" />

<span id="strength_L">弱</span><span
id="strength_M">中</span><span id="strength_H">
强</span>

</td>

</tr>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: