Jquery 扩展验证

it2022-05-07  0

官方地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 

jQuery用户手册:http://jquery.org.cn/visual/cn/index.xml 

 

$(document).ready(function(){     /* 设置默认属性 */    $.validator.setDefaults({        submitHandler: function(form) { form.submit(); }     });      // 中文字两个字节  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个字节)");    /* 追加自定义验证方法 */    // 身份证号码验证Query.validator.addMethod("isIdCardNo", function(value, element) {        return this.optional(element) || isIdCardNo(value);     }, "请正确输入您的身份证号码");    // 字符验证jQuery.validator.addMethod("userName", function(value, element) {        return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);    }, "用户名只能包括中文字、英文字母、数字和下划线");    // 手机号码验证jQuery.validator.addMethod("isMobile", function(value, element) {        var length = value.length;        return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/.test(value));        }, "请正确填写您的手机号码");    // 电话号码验证jQuery.validator.addMethod("isPhone", function(value, element) {        var tel = /^(\d{3,4}-?)?\d{7,9}$/g;        return this.optional(element) || (tel.test(value));    }, "请正确填写您的电话号码");    // 邮政编码验证jQuery.validator.addMethod("isZipCode", function(value, element) {        var tel = /^[0-9]{6}$/;        return this.optional(element) || (tel.test(value));    }, "请正确填写您的邮政编码");    $(regFrom).validate({        /* 设置验证规则 */        rules: { userName: { required: true,  userName: true,  byteRangeLength: [3,15]  },  password: {  required: true,  minLength: 5  },  repassword: {  required: true,  minLength: 5,  equalTo: "#password"  },  question: {  required: true  },  answer: {  required: true  },  realName: {  required: true  },  cardNumber: {   isIdCardNo: true  },  mobilePhone: {  isMobile: true  },  phone: {  isPhone: true  },  email: {  required: true,  email: true  },  zipCode: {  isZipCode:true  }  },         /* 设置错误信息 */  messages: {            userName: {  required: "请填写用户名",  byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"  },  password: {  required:"请填写密码",  minlength: jQuery.format("输入{0}.")  },  repassword: {   required: "请填写确认密码",  equalTo: "两次密码输入不相同"  },  question: {  required: "请填写您的密码提示问题"  },  answer: {  required: "请填写您的密码提示答案"  },  realName: {  required: "请填写您的真实姓名"  },  email: {  required: "请输入一个Email地址",  email: "请输入一个有效的Email地址"  }  },        /* 错误信息的显示位置 */errorPlacement: function(error, element) {  error.appendTo( element.parent() ); },        /* 验证通过时的处理 */ success: function(label) { // set   as text for IElabel.html(" ").addClass("checked"); },        /* 获得焦点时不验证 */ focusInvalid: falseonkeyup: false    });    // 输入框获得焦点时,样式设置$('input').focus(function(){        if($(this).is(":text") || $(this).is(":password"))            $(this).addClass('focus');        if ($(this).hasClass('have_tooltip')) {            $(this).parent().parent().removeClass('field_normal').addClass('field_focus');        }    });    // 输入框失去焦点时,样式设置$('input').blur(function() {        $(this).removeClass('focus');        if ($(this).hasClass('have_tooltip')) {            $(this).parent().parent().removeClass('field_focus').addClass('field_normal');        }    });

});  

转载于:https://www.cnblogs.com/Look_Sun/archive/2010/12/02/1894601.html

相关资源:jQuery 表单验证扩展(三)

最新回复(0)