密码强度检测

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	<title>
		密码强度检测
	</title>
	<style type="text/css">
		body{font:12px/1.5 Arial;} input{float:left;font-size:12px;width:150px;font-family:arial;border:1px
		solid #ccc;padding:3px;} input.correct{border:1px solid green;} input.error{border:1px
		solid red;} #tips{float:left;margin:2px 0 0 20px;} #tips span{float:left;width:50px;height:20px;color:#fff;overflow:hidden;background:#ccc;margin-right:2px;line-height:20px;text-align:center;}
		#tips.s1 .active{background:#f30;} #tips.s2 .active{background:#fc0;} #tips.s3
		.active{background:#cc0;} #tips.s4 .active{background:#090;}
	</style>
	<script type="text/javascript">
		window.onload = function() {
			var oTips = document.getElementById("tips");
			var oInput = document.getElementsByTagName("input")[0];
			var aSpan = oTips.getElementsByTagName("span");
			var aStr = ["弱", "中", "强", "非常好"];
			var i = 0;

			oInput.onkeyup = oInput.onfocus = oInput.onblur = function() {
				var index = checkStrong(this.value);
				this.className = index ? "correct": "error";
				oTips.className = "s" + index;
				for (i = 0; i < aSpan.length; i++) aSpan[i].className = aSpan[i].innerHTML = "";
				index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1])
			}
		};
		/** 强度规则
			+ ------------------------------------------------------- +
			1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱;
			2) 任何字符数的两类字符组合,中;
			3) 12位字符数以下的三类或四类字符组合,强;
			4) 12位字符数以上的三类或四类字符组合,非常好。
			+ ------------------------------------------------------- +
			**/
		//检测密码强度
		function checkStrong(sValue) {
			var modes = 0;
			if (sValue.length < 6) return modes;
			if (/\d/.test(sValue)) modes++; //数字
			if (/[a-z]/.test(sValue)) modes++; //小写
			if (/[A-Z]/.test(sValue)) modes++; //大写  
			if (/\W/.test(sValue)) modes++; //特殊字符
			switch (modes) {
			case 1:
				return 1;
				break;
			case 2:
				return 2;
			case 3:
			case 4:
				return sValue.length < 12 ? 3 : 4
				break;
			}
		}
	</script>
</head>

<body>
	<input type="password" value="" maxlength="16" />
	<div id="tips">
		<span></span>
		<span></span>
		<span></span>
		<span></span>
	</div>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的jQuery密码强度检测代码: ```javascript $(document).ready(function(){ $('#password').keyup(function(){ var password = $(this).val(); var strength = 0; if (password.match(/[a-z]+/)) { strength += 1; } if (password.match(/[A-Z]+/)) { strength += 1; } if (password.match(/[0-9]+/)) { strength += 1; } if (password.match(/[$@#&!]+/)) { strength += 1; } if (password.length >= 8) { strength += 1; } switch(strength) { case 0: $('#password-strength').html("密码强度:太弱了").css('color', 'red'); break; case 1: $('#password-strength').html("密码强度:弱").css('color', 'orange'); break; case 2: $('#password-strength').html("密码强度:一般").css('color', 'yellow'); break; case 3: $('#password-strength').html("密码强度:强").css('color', 'green'); break; case 4: $('#password-strength').html("密码强度:很强").css('color', 'darkgreen'); break; default: $('#password-strength').html(""); } }); }); ``` 在这个代码中,我们使用了jQuery的`keyup()`方法来检测密码输入框的内容是否发生了变化。然后我们获取密码的值,并使用正则表达式来检查密码是否包含小写字母、大写字母、数字和特殊字符以及密码的长度是否大于等于8个字符。每个条件都会增加密码的强度值。最后,我们使用`switch()`语句根据不同的强度值来显示不同的提示信息,并根据强度值来设置不同的颜色。 你可以根据自己的需求来自定义密码强度检测的条件和提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值