標籤:
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 licensed4 // https://gist.github.com/dperini/7292945 // see also https://mathiasbynens.be/demo/url-regex6 // modified to allow protocol-relative URLs7 return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)[email protected])?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\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 },
jquery外掛程式之jquery-validation