您的位置:首页 > Web前端 > JQuery

jquery.validate自定义规则

2015-01-31 10:04 225 查看
// 字符验证

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

return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);

}, "只能包括中文字、英文字母、数字和下划线");

//加点说明。通过addMethod用户可以自定义自己的验证规则

如上面的增加的jQuery.validator.addMethod("stringCheck", function(value, element) {
这个方法,应该放在那里,个人认为,只要放在<script></script>之间就可以,前提你要引入jquery validate 的包

这个方法有三个参数,第一个参数表示验证规则名称,这里是stringCheck

第二个参数是真正的验证主体,它是一个函数,函数的第一个value表示调用这个验证规则的表单的值,第二个element可以用来判断是否为空,为空的时候,就不调用这个验证规则了。

第三个参数是返回的错误提示。

// 中文字两个字节

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

var length = value.length;

for(var i = 0; i < value.length; i++){

if(value.charCodeAt(i) > 127){

length++;

}

}

return this.optional(element) || ( length >= param[0] && length <= param[1] );

}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");

// 身份证号码验证

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

return this.optional(element) || isIdCardNo(value);

}, "请正确输入您的身份证号码");

// 手机号码验证

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("isTel", function(value, element) {

var tel = /^\d{3,4}-?\d{7,9}$/; //电话号码格式010-12345678

return this.optional(element) || (tel.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("isZipCode", function(value, element) {

var tel = /^[0-9]{6}$/;

return this.optional(element) || (tel.test(value));

}, "请正确填写您的邮政编码");

//开始验证

$('#submitForm').validate({

/* 设置验证规则 */

rules: {

username: {

required:true,

stringCheck:true,

byteRangeLength:[3,15]

},

email:{

required:true,

email:true

},

phone:{

required:true,

isPhone:true

},

address:{

required:true,

stringCheck:true,

byteRangeLength:[3,100]

}

},

/* 设置错误信息 */

messages: {

username: {

required: "请填写用户名",

stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",

byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"

},

email:{

required: "请输入一个Email地址",

email: "请输入一个有效的Email地址"

},

phone:{

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

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

},

address:{

required: "请输入您的联系地址",

stringCheck: "请正确输入您的联系地址",

byteRangeLength: "请详实您的联系地址以便于我们联系您"

}

},
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: