1. 程式人生 > >Jquery Validate 相關參數及常用的自定義驗證規則

Jquery Validate 相關參數及常用的自定義驗證規則

手機號碼驗證 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 相關參數及常用的自定義驗證規則