每个项目中都会有登录注册模块的一些验证。比如说:用户名我们要验证位数和是否符合用户名规则;密码要验证字母开头,长度,是否包含下划线等等,这里我总结了一下常用的验证规则,用的是项目中用到的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) } }