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)