$().ready(function() {
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "请正确填写手机号码");
jQuery.validator.addMethod("isPhone", function(value,element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
var tel = /^\d{3,4}-?\d{7,9}$/;
return this.optional(element) || (tel.test(value) || mobile.test(value));
}, "请正确填写联系方式");
jQuery.validator.addMethod("chrnum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, "只能输入数字和英文字母");
validateAddForm();
});
// 验证表单
var validateOption;
/**表单验证配置
*
*/
function validateAddForm() {
validateOption = {
rules: {
username: {
required: true,
chrnum: true,
minlength: 6,
maxlength: 20,
remote: {
url: "register?method=isNameExist",
type: "post",
data: {
username: function(){return $("#username").val();}
}
}
},
password: {
required: true,
chrnum: true,
minlength: 8,
maxlength: 20
},
confirmPassword: {
required: true,
minlength: 8,
maxlength: 20,
equalTo: "#password"
},
email: {
required: true,
email: true
},
cellphone: {
required: true,
isPhone: true
},
endTime: {
required: true,
dateISO: true
}
},
messages: {
username: {
required: "不能为空",
chrnum: "由数字、英文字母组成",
minlength: "最少6个字符",
maxlength: "最多20个字符",
remote: "账户名已存在"
},
password: {
required: "不能为空",
chrnum: "由数字、英文字母组成",
minlength: "最少8个字符",
maxlength: "最多20个字符"
},
confirmPassword: {
required: "不能为空",
chrnum: "由数字、英文字母组成",
minlength: "最少8个字符",
maxlength: "最多20个字符",
equalTo: "确认密码错误"
},
email: {
required: "不能为空",
email: "格式错误"
},
cellphone: {
required: "不能为空",
isMobile: "格式错误"
},
endTime: {
required: "不能为空",
dateISO: "2014-01-01"
}
},
errorPlacement: function(error, element) {
element.parent().addClass("warning-state");
error[0].clientWidth;
error.insertAfter(element);
},
success: function(label) {
var $obj = $(label);
if($obj.prev().hasClass("warning-state")){
$obj.prev().removeClass("warning-state");
$obj.remove();
}
},
};
$("#addForm").validate(validateOption);
}
/**
* 使用
*/
function addAccount() {
$("#addForm").validate(validateOption);
if (!$('#addForm').valid()) {
return;
}
$.ajax({
type: "post",
url: "account?method=update",
dataType: "json",
data: {},
success: function(data, textStatus) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
}