Jquery Validate 相關參數及常用的自定義驗證規則
阿新 • • 發佈:2018-11-09
手機號碼驗證 cti dea 復制 接收 least join cep mat
一、官網地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation
二、默認校驗規則
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
(1)、required: true 必輸字段
(2)、remote: "remote-valid.jsp" 使用ajax方法調用remote-valid.jsp驗證輸入值
(3)、email: true 必須輸入正確格式的電子郵件 (4)、url: true 必須輸入正確格式的網址
(5)、date: true 必須輸入正確格式的日期,日期校驗ie6出錯,慎用
(6)、dateISO: true 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性
(7)、number: true 必須輸入合法的數字(負數,小數)
(8)、digits: true 必須輸入整數
(9)、creditcard: true 必須輸入合法的信用卡號 (10)、equalTo: "#password" 輸入值必須和#password相同
(11)、accept: 輸入擁有合法後綴名的字符串(上傳文件的後綴)
(12)、maxlength:5 輸入長度最多是5的字符串(漢字算一個字符)
(13)、minlength:10 輸入長度最小是10的字符串(漢字算一個字符)
(14)、rangelength:[5,10] 輸入長度必須介於 5 和 10 之間的字符串")(漢字算一個字符)
(15)、range:[5,10] 輸入值必須介於 5 和 10 之間 (16)、max:5 輸入值不能大於5
(17)、min:10 輸入值不能小於10
|
三、默認的提示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
messages: {
required: "This field is required." ,
remote: "Please fix this field." ,
email: "Please enter a valid email address." ,
url: "Please enter a valid URL." ,
date: "Please enter a valid date." ,
dateISO: "Please enter a valid date (ISO)." ,
dateDE: "Bitte geben Sie ein g眉ltiges Datum ein." ,
number: "Please enter a valid number." ,
numberDE: "Bitte geben Sie eine Nummer ein." ,
digits: "Please enter only digits" ,
creditcard: "Please enter a valid credit card number." ,
equalTo: "Please enter the same value again." ,
accept: "Please enter a value with a valid extension." ,
maxlength: $.validator.format( "Please enter no more than {0} characters." ),
minlength: $.validator.format( "Please enter at least {0} characters." ),
rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ),
range: $.validator.format( "Please enter a value between {0} and {1}." ),
max: $.validator.format( "Please enter a value less than or equal to {0}." ),
min: $.validator.format( "Please enter a value greater than or equal to {0}." )
},
|
示例:
$("#fm").validate({ rules:{ loginpwd:{ required:true, minlength:6, maxlength:12, regex:"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" }, loginpwd2:{ required:true, equalTo: "#loginpwd", regex:"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" } }, messages:{ loginpwd:{ required: "請輸入密碼", minlength: "密碼長度不能小於 6 個字母", regex:"密碼必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間" }, loginpwd2:{ required: "請輸入密碼", minlength: "密碼長度不能小於 6 個字母", equalTo: "兩次密碼輸入不一致", regex:"密碼必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間" } } });
四、Jquery Validate 自定義驗證規則
addMethod(name,method,message)方法
參數 name 是添加的方法的名字。
參數 method 是一個函數,接收三個參數 (value,element,param) 。
value 是元素的值,element 是元素本身,param 是參數。
身份證號碼驗證
jQuery.validator.addMethod(“idcardno”, function(value, element) { return this.optional(element) || isIdCardNo(value); }, “請正確輸入身份證號碼”);
字母數字
jQuery.validator.addMethod(“alnum”, function(value, element) { return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value); }, “只能包括英文字母和數字”);
郵政編碼驗證
jQuery.validator.addMethod(“zipcode”, function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, “請正確填寫郵政編碼”);
漢字
jQuery.validator.addMethod(“chcharacter”, function(value, element) { var tel = /^[u4e00-u9fa5]+$/; return this.optional(element) || (tel.test(value)); }, “請輸入漢字”);
字符最小長度驗證(一個中文字符長度為2)
jQuery.validator.addMethod(“stringMinLength”, 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); }, $.validator.format(“長度不能小於 { 0 }!”));
字符最大長度驗證(一個中文字符長度為2)
jQuery.validator.addMethod(“stringMaxLength”, 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); }, $.validator.format(“長度不能大於 { 0 }!”));
字符驗證
jQuery.validator.addMethod(“string”, function(value, element) { return this.optional(element) || /^[u0391-uFFE5w]+$/.test(value); }, “不允許包含特殊符號!”);
手機號碼驗證
jQuery.validator.addMethod(“mobile”, 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(“phone”, function(value, element) { var tel = /^(d{3,4}-?)?d{7,9}$/g; return this.optional(element) || (tel.test(value)); }, “電話號碼格式錯誤!”);
必須以特定字符串開頭驗證
jQuery.validator.addMethod(“begin”, function(value, element, param) { var begin = new RegExp(“ ^ ”+param); return this.optional(element) || (begin.test(value)); }, $.validator.format(“必須以 { 0 } 開頭!”));
驗證兩次輸入值是否不相同
jQuery.validator.addMethod(“notEqualTo”, function(value, element, param) { return value != $(param).val(); }, $.validator.format(“兩次輸入不能相同!”));
驗證值不允許與特定值等於
jQuery.validator.addMethod(“notEqual”, function(value, element, param) { return value != param; }, $.validator.format(“輸入值不允許為 { 0 }!”));
驗證值必須大於特定值(不能等於)
jQuery.validator.addMethod(“gt”, function(value, element, param) { return value > param; }, $.validator.format(“輸入值必須大於 { 0 }!”));
小數點前最多9位,小數點後最多6位
jQuery.validator.addMethod("decimal", function (value, element) { return this.optional(element) || /^([1-9]\d{0,8}|0)(\.\d{1,6})?$/.test(value); }, "小數點前最多9位,小數點後最多6位^_^");
結束時間不能小於開始時間
jQuery.validator.addMethod("laterTo", function (value, element, param) { return $(param).val().split("-").join("") < $(element).val().split("-").join(""); }, "結束時間不能小於開始時間^_^");
Jquery Validate 相關參數及常用的自定義驗證規則