三種密碼強度的正則表達式:
較弱:全是數字或全是字母 6-16個字符:
/^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/;
中級:數字、26個英文字母 6-16個字符:
/^[A-Za-z0-9]{6,16}$/;
較高:由數字、26個英文字母或者下划線組成的字符串 6-16個字符:
/^\w{6,16}$/;
html部分:
密碼框:<input id = "myinput" type="text" maxlength="16" placeholder = "請輸入6~16個字符" onkeyup="check()" /> //密碼輸入框
<span id = "myspan" ></span> //這個span是放提示信息的地方
js部分:
function check() {
var mima = document.getElementById("myinput").value;
var sp = document.getElementById("myspan");
if (mima.length == 0) {
sp.innerHTML = "密碼不能為空"
} else if (mima.length < 6) {
sp.innerHTML = "密碼不能小於6個字符";
} else if (mima.length >= 6 && mima.length < 16) {
sp.innerHTML = "";
var mmzz1 = /^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/;
var mmzz2 = /^[A-Za-z0-9]{6,16}$/;
var mmzz3 = /^\w{6,16}$/;
if (mima.match(mmzz1)) {
sp.innerHTML = "密碼等級'較弱',建議字母+數字";
} else if (mima.match(mmzz2)) {
sp.innerHTML = "密碼等級'中等',建議字母+數字+特殊符";
} else if (mima.match(mmzz3)) {
sp.innerHTML = "密碼等級'較強'";
}
} else if (mima.length >= 16) {
sp.innerHTML = "長度大於16個字符,請重新輸入";
}