js用户密码强度验证函数

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 04:03   11   0
js调用此函数,返回密码强度级别
function getStrength(passwd){
 intScore = 0;
 if (passwd.match(/[a-z]/)) // [验证]至少一个小写字母
 {
  intScore = (intScore+1)
 } if (passwd.match(/[A-Z]/)) // [验证]至少一个大写字母
 {
  intScore = (intScore+5)
 } // 单一验证
 if (passwd.match(//d+/)) // [验证]至少一个数字
 {
  intScore = (intScore+5)
 } if (passwd.match(/(/d.*/d.*/d)/)) // [验证]至少三个数字
 {
  intScore = (intScore+5)
 } // 特殊字符验证
 if (passwd.match(/[!,@#$%^&*?_~]/)) // [验证]至少一个特殊字符
 {
  intScore = (intScore+5)
 } if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) // [验证]至少两个特殊字符
 {
  intScore = (intScore+5)
 } // 复合验证
 if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) // [验证]同时包含大写和小写
 {
  intScore = (intScore+2)
 } if (passwd.match(//d/) && passwd.match(//D/)) // [验证] 同时包含字母和数字
 {
  intScore = (intScore+2)
 } // [验证] 同时包含大写字母,小写字母,数字和特殊字符
 if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(//d/) && passwd.match(/[!,@#$%^&*?_~]/))
 {
  intScore = (intScore+2)
 }
 return intScore;
}

另外一种方法。用一条正则验证密码强度,密码为6位数字或字符组成,且必须含有一个数字、一个字符

^(?=\d{0,5}[a-zA-Z])(?=[a-zA-Z]{0,5}\d)[a-zA-Z0-9]{6}$
1.一个 ^[a-zA-Z0-9]{6}$ 匹配整个密码串

2.接着1个断言,验证密码中必须出现过字符(?=\d{0,5}[a-zA-Z])

3.类似第2步,也是一个断言,验证密码中必须出现过数字(?=[a-zA-Z]{0,5}\d)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP