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

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

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" οnmοuseοut="this.className='box1'" οnkeyup="pwStrength(this.value)" maxlength="16" class="newufeild" οnmοuseοver="this.className='box2'" οnblur="showTipMessage(false) " οnfοcus="showTipMessage(true)" type="password" size="30" />
        <span id="strength_L">弱</span><span id="strength_M">中</span><span id="strength_H"> 强</span>
       </td>
</tr>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值