用js实现一个可以用文本框输入密码的时候强度从弱中强来实现用数字大写字母和小写字母用ASCII
码来判断密码强度的功能。
HTML部分代码:
<input type="password" id="password" onkeyup="checkStrength(this.value)">
<div id="password-strength"></div>
JS部分代码:
function checkStrength(password) {
var strength = 0;
if (password.length < 6) {
document.getElementById("password-strength").innerHTML = "密码强度:弱";
return;
}
if (password.match(/[0-9]/)) {
strength++;
}
if (password.match(/[a-z]/)) {
strength++;
}
if (password.match(/[A-Z]/)) {
strength++;
}
if (password.match(/[^0-9a-zA-Z]/)) {
strength++;
}
if (strength == 1) {
document.getElementById("password-strength").innerHTML = "密码强度:弱";
} else if (strength == 2) {
document.getElementById("password-strength").innerHTML = "密码强度:中";
} else if (strength == 3) {
document.getElementById("password-strength").innerHTML = "密码强度:强";
} else {
document.getElementById("password-strength").innerHTML = "密码强度:非常强";
}
}
在这个函数中,首先判断密码长度是否小于6,如果小于6,则认为密码强度为弱。接着,使用正则表达式匹配密码中是否包含数字、小写字母、大写字母和特殊字符,每匹配成功一次,就将密码强度值+1。最后,根据密码强度值的大小,输出相应的密码强度级别
原文地址: https://www.cveoy.top/t/topic/edVK 著作权归作者所有。请勿转载和采集!