js密码的校验(判断字符类型、统计字符类型个数)
/** *判断字符类型 */ function CharMode(iN) { if (iN >= 48 && iN <= 57) //数字 return 1; if (iN >= 65 && iN <= 90) //大写字母 return 2; if (iN >= 97 && iN <= 122) //小写 return 4; else return 8; //特殊字符 } /** * 统计字符类型 */ function bitTotal(num) { var modes = 0; for (i = 0; i < 4; i++) { if (num & 1) modes++; num >>>= 1; } return modes; }
/**
*密码组合必须是两种字符或以上
*/
function validationPass(){ var Modes = 0; var newPass = $('#newPass').val(); var newPassLen = newPass.length; if(newPassLen<6){ $("#passWarn").html("密码长度大于等于6"); return false; }else{ $("#passWarn").html(""); } for (i = 0; i < newPass.length; i++) { //测试每一个字符的类别并统计一共有多少种模式. Modes |= CharMode(newPass.charCodeAt(i)); } if(bitTotal(Modes) ==1||bitTotal(Modes) <1 ){ $("#passWarn").html("密码必须由两种以上字符组成"); return false; }else{ $("#passWarn").html(""); return true; } }