
密码强度验证示例
<input type="password" name="pass" id="pass" />
<span id="passstrength"></span>
<script>
$('#pass').keyup(function(e) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').attr('class','short');
$('#passstrength').html('太短了!');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').attr('class','ok');
$('#passstrength').html('强!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').attr('class','alert');
$('#passstrength').html('中!');
} else {
$('#passstrength').attr('class','error');
$('#passstrength').html('弱!');
}
return true;
});
</script>
点击demo查看效果。非常严谨的表单密码强度验证,如果密码长度低于6位,则出现灰色的提醒,密码长度不够;当超过六位,但是仅仅使用纯数字或者纯小写字母或者纯大写字母,则提示密码过于简单;当超过六位,但是密码只是字母+数字,或者数字+符号,或者字母+符号等等,会提示,密码强度中等;当超过六位,密码由数字+小写字母+大写字母+符号,就会提醒密码强度高。
