項目中有個需要驗證密碼強度,我對正則表達式并不熟悉,每次都是上網google,這次照例,發現了一個,就用了,結果被QA測試出只能在safari上用,IE和FF不行,奇怪了。
function validatePassword_delete(password,error) {
if (password.value.length <

error.innerHTML = "Password must be minimum 8 alphanumeric with complexity e.g. P4343g";
password.focus();
return false;
} else {
alert(password.value.replace(/^(?:([a-z])|([A-Z])| ([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length);
if(password.value.replace(/^(?:([a-z])|([A-Z])|([0 -9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length<2){
error.innerHTML = "Password must be minimum 8 alphanumeric with complexity e.g. P4343g";
password.focus();
return false;
}else{
error.innerHTML = "";
return true;
}
}
}
于是我又google,終于找到一個萬能的,貼上來吧
function validatePassword(pwd,error) {
var strength = document.getElementById('strength');
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("(?=.{8,}).*", "g");
if (false == enoughRegex.test(pwd.value)) {
error.innerHTML = "Password must be minimum 8 alphanumeric with complexity e.g. P4343g";
pwd.focus();
return false;
} else if (strongRegex.test(pwd.value)) {
error.innerHTML ="";
return true;
} else if (mediumRegex.test(pwd.value)) {
error.innerHTML ="";
return true;
} else {
error.innerHTML = "Password must be minimum 8 alphanumeric with complexity e.g. P4343g";
pwd.focus();
return false;
}
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
