关于jquery.validate.js的用法

// 手机号码验证

jQuery.validator.addMethod("isMobile", function(value, element) {

var length = value.length;

var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

return this.optional(element) || (length == 11 && mobile.test(value));

}, "请输入正确的手机号码");

jQuery.validator.addMethod("isMobile2", function(value, element) {

status1=checkphone(value);

return this.optional(element) || status1;

}, "此手机号码已经注册");

jQuery.validator.addMethod("isUsername", function(value, element) {

status2=checkname(value);

return this.optional(element) || status2;

}, "此账号已经被注册");

jQuery.validator.addMethod("ischecked", function(value, element) {

status2=ischecked(value);

return this.optional(element) || status2;

}, "此账号已经被注册");

//验证输入的验证码是否正确

jQuery.validator.addMethod("yzcheck",function(value,element){

status3=checkCode(value);

return this.optional(element) || status3 ;

},"验证码错误");

$().ready(function() {

$("#firstform1").validate({

debug: true, //调试模式取消submit的默认提交功能

//errorClass: "label.error", //默认为错误的样式类为:error

focusInvalid: false, //当为false时,验证无效时,没有焦点响应

onkeyup: false,

submitHandler: function(form){ //表单提交句柄,为一回调函数,带一个参数:form

register_1();

return false;

//form.submit(); //提交表单

},

/*errorLabelContainer: "#messageBox", //显示错误信息的容器ID

wrapper: "li", //包含每个错误信息的容器*/

rules:{

Username:{

required: true,

minlength:6,

maxlength:18,

isUsername:true

},

phone:{

required:true,

isMobile:true ,

isMobile2:true

},

agreen:{

// ischecked:true,

required:true

},

yzmm:{

required:true,

yzcheck:true,

},

password:{

required:true,

minlength:6,

maxlength:18,

},

repassword:{

required:true,

equalTo:"#password"

}

},

messages:{

Username:{

required: "请填写姓名",

minlength: "字符长度不能小于6个字符",

maxlength: "字符长度不能大于18个字符" ,

isUsername:"此账号已经被注册"

},

phone:{

required: "请输入您的联系电话",

isMobile: "请输入一个有效的联系电话" ,

isMobile2:"此手机号码已经被注册!"

},

agreen:{

required:"微融服务器协议必须",

},

yzmm:{

required:"验证码必须",

yzcheck:"验证码错误",

},

password:{

required:"密码必须",

minlength:"密码长度至少为6位",

maxlength:"密码长度不能超过18位"

},

repassword:{

required:"确认密码必须",

equalTo:"确认密码不正确"

}

} ,

errorPlacement: function(error, element) {

if ( element.is(":radio") )

error.appendTo ( element.parent() );

else if ( element.is(":checkbox") )

error.appendTo ( element.parent() );

else if ( element.is("input[name=captcha]") )

error.appendTo ( element.parent() );

else

error.insertAfter(element);

}

});

});

function checkphone(objvalue){

$.ajax({

url:"action/RegAction.php?action=checkp",

async:false,//异步请求

cache:false,//不缓存

type:"post",

data:{"phone":objvalue},

dataType:"json",

beforeSend:function(){

//$(".layer").fadeOut(500);

},

error:function(){

alert('网络原因');

},

success:function(data){

if(data>=1){

result=false;

}

else{

result=true;

}

}

});

return result;

}

//检测用户名是否存在

function checkname(objvalue){

$.ajax({

url:"action/RegAction.php?action=recheck",

async:false,//异步请求

cache:false,//不缓存

type:"post",

data:{"Username":objvalue},

dataType:"json",

beforeSend:function(){

//$(".layer").fadeOut(500);

},

error:function(){

alert('网络原因');

},

success:function(data){

if(data>=1){

result=false;

}

else{

result=true;

}

}

});

return result;

}

//获取短信

function ischecked(obj){

}

function sendNote1(){

if (status1&status2){

var phone=escape($("input[name='phone']").val());

$.ajax({

url:"action/RegAction.php?action=getMobileCode",

async:true,//设为false会等待ajax执行完毕在执行后面的JS代码

type:"post",

data:{"phone":phone},

dataType:"json",

error:function(){

alert("网络 Error,请稍后尝试注册");

},

success:function(data){

if(data == 1){

seconds=60;

showRzz(seconds,speed,phone);

// $("#getSms").html("<font color=red>验证码已发送, 请耐心等待</font>");

//$("#zhuceButton").prop('disabled', false);

//hideTopError()

}else{

$("#yzmm").removeClass("has-success").addClass("has-error");

$("input[name='yzmm']").val('');

$("input[name='yzmm']").attr("placeholder","验证码不正确");

result=false;

}

}

});// end ajax call

}

}

var seconds = 30;

var speed = 1000;

function showRzz(seconds,speed,phone){

var rzz=$("#getSms1");

var oldText=$("#getSms1").html();

var txt = "<a class='center-block' href='javascript:void(0)'>("+seconds +"发送验证码)</a>";

var timeIdd = setTimeout("showRzz(seconds--,speed)",speed);

if(seconds == 0){

txt="<a href=\"#.\" onClick=\"sendNote1()\" class=\"center-block color58\">获取验证码<span class=\"color4045\">60</span></a>";

clearTimeout(timeIdd);

// alert(seconds)

};

rzz.html(txt);

}

function checkCode(objvalue){

$.ajax({

url:"action/RegAction.php?action=reCode",

async:false,//异步请求

cache:false,//不缓存

type:"post",

data:{"yzmm":objvalue},

dataType:"json",

beforeSend:function(){

//$(".layer").fadeOut(500);

},

error:function(){

alert('网络原因');

},

success:function(data){

if(data==1){

result=true;

}

else{

result=false;

}

}

});

return result;

}

function register_1(){

var username=$("input[name=Username]").val(); //用户名

var phone=$("input[name=phone]").val();//手机号码

$.ajax({

url:"action/ManagerAction.php?action=register_1",

async:false,//异步请求

cache:false,//不缓存

type:"post",

data:{"phone":phone,"username":username},

dataType:"json",

beforeSend:function(){

//$(".layer").fadeOut(500);

},

error:function(){

alert('网络原因');

},

success:function(data){

if(data==1){

window.location.href="register_s1.php?action=step2";

// result=true;

}

else{

alert("网络原因,注册失败!")

result=false;

}

}

});

}