正则表达式:检测密码由6-21字母和数字组成,不能是纯数字或纯英文;很多人一下子就想到了^[a-zA-Z0-9]{6,21}$,但是这个正则不能保证不能是纯数字或纯英文,所以这个正则不符合要求。
这个正确的正则应该是: ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$。
具体js判断代码如下:
function newPW(){
regExp=/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,21}$/;
if($(".newPW").val()==""){
$(".popTips").text("密码不能为空");
$(".popTips").show();
return false;
}
else if(!regExp.test($(".newPW").val())){
$(".popTips").text("密码格式错误");
$(".popTips").show();
return false;
}
else{
$(".popTips").hide();
return true;
}
}
$("ul li .newPW").blur(newPW);