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

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

2008-07-29 22:33 706 查看
 JavaScript下正则表达式密码强度验证

http://www.cnblogs.com/laolaowhn/archive/2008/03/11/1099808.html

 

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

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&g
9d5a
t;<span id="strength_H"> 强</span>
      </td>
</tr>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息