equalTo方法:
1 equalTo: function( value, element, param ) { 2 3 // Bind to the blur event of the target in order to revalidate whenever the target field is updated 4 var target = $( param ); 5 if ( this.settings.onfocusout && target.not( ".validate-equalTo-blur" ).length ) { 6 target.addClass( "validate-equalTo-blur" ).on( "blur.validate-equalTo", function() { 7 $( element ).valid(); 8 } ); 9 } 10 return value === target.val(); 11 },
url验证方法:
1 url: function( value, element ) { 2 3 // Copyright (c) 2010-2013 Diego Perini, MIT licensed 4 // https://gist.github.com/dperini/729294 5 // see also https://mathiasbynens.be/demo/url-regex 6 // modified to allow protocol-relative URLs 7 return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?//)(?:S+(?::S*)?@)?(?:(?!(?:10|127)(?:.d{1,3}){3})(?!(?:169.254|192.168)(?:.d{1,3}){2})(?!172.(?:1[6-9]|2d|3[0-1])(?:.d{1,3}){2})(?:[1-9]d?|1dd|2[01]d|22[0-3])(?:.(?:1?d{1,2}|2[0-4]d|25[0-5])){2}(?:.(?:[1-9]d?|1dd|2[0-4]d|25[0-4]))|(?:(?:[a-zu00a1-uffff0-9]-*)*[a-zu00a1-uffff0-9]+)(?:.(?:[a-zu00a1-uffff0-9]-*)*[a-zu00a1-uffff0-9]+)*(?:.(?:[a-zu00a1-uffff]{2,})).?)(?::d{2,5})?(?:[/?#]S*)?$/i.test( value ); 8 },
日期date验证方法:
1 // http://jqueryvalidation.org/date-method/ 2 date: function( value, element ) { 3 return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() ); 4 },
十进制数字含小数验证方法:
1 // http://jqueryvalidation.org/number-method/ 2 number: function( value, element ) { 3 return this.optional( element ) || /^(?:-?d+|-?d{1,3}(?:,d{3})+)?(?:.d+)?$/.test( value ); 4 },
整数验证方法:
1 // http://jqueryvalidation.org/digits-method/ 2 digits: function( value, element ) { 3 return this.optional( element ) || /^d+$/.test( value ); 4 },
最小长度验证方法:
1 // http://jqueryvalidation.org/minlength-method/ 2 minlength: function( value, element, param ) { 3 var length = $.isArray( value ) ? value.length : this.getLength( value, element ); 4 return this.optional( element ) || length >= param; 5 },
最大长度验证方法:
1 // http://jqueryvalidation.org/maxlength-method/ 2 maxlength: function( value, element, param ) { 3 var length = $.isArray( value ) ? value.length : this.getLength( value, element ); 4 return this.optional( element ) || length <= param; 5 },
长度范围验证方法:
1 // http://jqueryvalidation.org/rangelength-method/ 2 rangelength: function( value, element, param ) { 3 var length = $.isArray( value ) ? value.length : this.getLength( value, element ); 4 return this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] ); 5 },
最小值,最大值,区间值验证方法:
1 // http://jqueryvalidation.org/min-method/ 2 min: function( value, element, param ) { 3 return this.optional( element ) || value >= param; 4 }, 5 6 // http://jqueryvalidation.org/max-method/ 7 max: function( value, element, param ) { 8 return this.optional( element ) || value <= param; 9 }, 10 11 // http://jqueryvalidation.org/range-method/ 12 range: function( value, element, param ) { 13 return this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] ); 14 },
两个中文字符验证:自定义方法
1 jQuery.validator.addMethod("byteRangeLength", function(value, element, param) { 2 var length = value.length; 3 for(var i = 0; i < value.length; i++){ 4 if(value.charCodeAt(i) > 127){ 5 length++; 6 } 7 } 8 return this.optional(element) || ( length >= param[0] && length <= param[1] ); 9 }, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));
邮政编码验证:自定义方法
1 // 邮政编码验证 2 jQuery.validator.addMethod("isZipCode", function(value, element) { 3 var tel = /^[0-9]{6}$/; 4 return this.optional(element) || (tel.test(value)); 5 }, "请正确填写您的邮政编码");
验证提示信息:
1 messages: { 2 required: "This field is required.", 3 remote: "Please fix this field.", 4 email: "Please enter a valid email address.", 5 url: "Please enter a valid URL.", 6 date: "Please enter a valid date.", 7 dateISO: "Please enter a valid date ( ISO ).", 8 number: "Please enter a valid number.", 9 digits: "Please enter only digits.", 10 equalTo: "Please enter the same value again.", 11 maxlength: $.validator.format( "Please enter no more than {0} characters." ), 12 minlength: $.validator.format( "Please enter at least {0} characters." ), 13 rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ), 14 range: $.validator.format( "Please enter a value between {0} and {1}." ), 15 max: $.validator.format( "Please enter a value less than or equal to {0}." ), 16 min: $.validator.format( "Please enter a value greater than or equal to {0}." ), 17 step: $.validator.format( "Please enter a multiple of {0}." ) 18 },