【jQuery系列之插件】jquery插件之jquery-validation

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     },
原文地址:https://www.cnblogs.com/dream-to-pku/p/5923321.html