现在的位置: 首页 > 综合 > 正文

js用户密码强度验证函数

2013年12月02日 ⁄ 综合 ⁄ 共 1031字 ⁄ 字号 评论关闭

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)

抱歉!评论已关闭.