每个项目中都会有登录注册模块的一些验证。比如说:用户名我们要验证位数和是否符合用户名规则;密码要验证字母开头,长度,是否包含下划线等等,这里我总结了一下常用的验证规则,用的是项目中用到的class和id ,如果自己用到的话要对名称做相应的修改。
验证用户名的方法:
function username() {
//reg1 = /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/;// 帐号是否合法(字母开头,允许4-16字节,允许字母数字下划线)
var reg = /^[0-9a-zA-Z_\u3E00-\u9FA5]{3,15}$/;//4-16字节,允许字母数字下划线
var userName = $("#userName").val();
if (userName == "") {
$("#userNamePrompt").addClass("errorTextColor");
$("#userNamePrompt").html("<img class='regImg' src='images/x.png' />用户名不能为空!");
return false;
} else if (!reg.test(userName)) {
$("#userNamePrompt").addClass("errorTextColor");
$("#userNamePrompt").html("<img class='regImg' src='images/x.png' />不正确的用户名格式!");
return false;
} else {
var userFlag = false;
$.ajaxSetup({
async : false
});
$.ajax({
url : "user/checkUserName.do",
data : {
userName : $("#userName").val()
},
success : function(data) {
if (data != "1") {
$("#userNamePrompt").addClass("errorTextColor");
$("#userNamePrompt").html("<img class='regImg' src='images/x.png' />"+data);
//userNamePrompt.innerHTML = data.fontcolor("red");
} else {
$("#userNamePrompt").html("<img class='regImg' src='images/v.png' />");
return userFlag = true;
}
}
});
return userFlag;
}
}
验证手机号的方法 :
function phone() {
var reg = /^0?(13[0-9]|15[012356789]|17[0678]|18[0123456789]|14[57])[0-9]{8}$/;
if ($("#telNo").val() == "") {
$("#phonePrompt").addClass("errorTextColor");
$("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号码不能为空!");
/*$("#codeMsg").hide();*/
return false;
} else if ($("#telNo").val().length < 11) {
$("#phonePrompt").addClass("errorTextColor");
$("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号码长度有误!");
/*$("#codeMsg").hide();*/
return false;
} else if (!reg.test($("#telNo").val())) {
$("#phonePrompt").addClass("errorTextColor");
$("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号不存在!");
/*$("#codeMsg").hide();*/
return false;} else {
var phoneFlag = false;
$.ajaxSetup({
async : false
});
$.get("user/checkPhone.do",{
type : 0,
telNo : $("#telNo").val()
}, function(data) {
if (data != "1") {
$("#phonePrompt").addClass("errorTextColor");
$("#phonePrompt").html("<img class='regImg' src='images/x.png' />"+data);
//telInfo.innerHTML = data.fontcolor("red");
} else {
$("#phonePrompt").html("<img class='regImg' src='images/v.png' />");
$("#codeMsg").show();
return phoneFlag = true;
}
});
return phoneFlag;
}
}
密码的验证方法 :
function password() {
//reg2 = /^[a-zA-Z]\w{5,17}$/;// 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
reg2 = /^[a-zA-Z]\w{5,17}$/;
var reg = /[\u4E00-\u9FA5]/;
var userPwd = $('#userPwd').val();
if (userPwd == "") {
$("#newPwdPrompt").addClass("errorTextColor");
$("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能为空!");
$('.regQrshow').hide();
return false;
} else if (userPwd.length < 6 || userPwd.length > 16) {
$("#newPwdPrompt").addClass("errorTextColor");
$("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />长度不符合!");
$('.regQrshow').hide();
return false;
} else if(reg.test(userPwd)){
$("#newPwdPrompt").addClass("errorTextColor");
$("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能有中文!");
$('.regQrshow').hide();
} else {
return true;
}
确认密码的验证方法 :
function repassword() {
/*这样的写法ie浏览器下会报错*/
/*var pwd = $("#userPwd").val().trim();*/
/*var repwd = $("#userPwdAgain").val().trim();*/
var a=$('#userPwd').val();
var pwd=$.trim(a);
var b=$('#userPwdAgain').val();
var repwd=$.trim(b);
if (pwd == "") {
$("#rePwdPrompt").addClass("errorTextColor");
$("#rePwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能为空!");
return false;
} else if (pwd !== repwd) {
$("#rePwdPrompt").addClass("errorTextColor");
$("#rePwdPrompt").html("<img class='regImg' src='images/x.png' />两次密码不一致");
return false;
} else {
$("#rePwdPrompt").addClass("errorTextColor");
$("#rePwdPrompt").html("<img class='regImg' src='images/v.png' />");
//setFlag($("#userPwdAgain"));
return true;
}
}
60s重新获取验证码
var wait = 60;
function time(btn) {
if (wait == 0) {
$('#voice').removeAttr("disabled");
$('#msg').removeAttr("disabled");
$('#voice').val("语音验证");
$('#msg').val("短信验证");
wait = 60;
} else {
btn.attr("disabled", true);
btn.val(wait + "秒后重发");
wait--;
setTimeout(function(){
time(btn);
},1000)
}
}