密码强度校验(Js+Java)

Js版本

$("#form_sbumit").on('click', function () {
	var value = $("#pwd").val();
	// 长度大于8位,至少包含数字、小写字母、大写字母、特殊字符中的三种。
	var strength = 0;
	if (value.length >= 8 && value.match(/[\da-zA-Z]+/)) {
		if (value.match(/\d+/)) {
			strength++;
		}
		if (value.match(/[a-z]+/)) {
			strength++;
		}
		if (value.match(/[A-Z]+/)) {
			strength++;
		}
		// 定义特殊字符列表
		if (value.match(/[!@*$-_()+=&¥]+/)) {
			strength++;
		}
	}
	if (strength >= 3) {
		return true;
	}else {
		alert("密码强度不够, 至少包含数字、小写字母、大写字母、特殊字符中的三种");
		return false;
	}
});

场景:提交表单前进行密码校验。

Java版

/**
 * 密码至少包含数字、小写字母、大写字母、特殊字符中的三种
 */
private boolean pwdVerify(String pwd){
	int flag = 0;
	if (pwd.matches(".*[0-9].*")) {
		flag++;
	}
	if (pwd.matches(".*[a-z].*")) {
		flag++;
	}
	if (pwd.matches(".*[A-Z].*")) {
		flag++;
	}
	if (pwd.matches(".*[!@*#$\\-_()+=&¥].*")) {
		flag++;
	}
	return flag >= 3;
}

你可能感兴趣的:(Java)