jQuery validate 擴展正則驗證

$(document).ready(function(){      
  /**//* 設置默認屬性 */
  $.validator.setDefaults({
      s mitHandler: function(form) {
          form.s mit();
     }
 });

 // 字符驗證
 jQry.validator.addMethod("stringCheck", function(val, element) {
     return this.optional(element) || /^[\u-\?\w]+$/.test(val);
 }, "只能包括中文字、英文字母、數字和下劃線");

 // 中文字兩個字節
 jQry.validator.addMethod("byteRangeLength", function(val, element, param) {
     var length = val.length;
     for(var i = ; i < val.length; i++){
         if(val.charCodeAt(i) > ){
         length++;
         }
     }
     return this.optional(element) || ( length >= param[] && length <= param[] );
 }, "請確保輸入的值在-個字節之間(一箇中文字算個字節)");

 // 身份證號碼驗證
 jQry.validator.addMethod("isIdCardNo", function(val, element) {
     return this.optional(element) || isIdCardNo(val);
 }, "請正確輸入您的身份證號碼");
     
 // 手機號碼驗證
 jQry.validator.addMethod("isMobile", function(val, element) {
     var length = val.length;
     var mobile = /^((([-]{})|([-]{}))+\d{})$/;
     return this.optional(element) || (length ==&& mobile.test(val));
 }, "請正確填寫您的手機號碼");

 // 電話號碼驗證
 jQry.validator.addMethod("isTel", function(val, element) {
     var tel = /^\d{,}-?\d{,}$/;    //電話號碼格式-
     return this.optional(element) || (tel.test(val));
 }, "請正確填寫您的電話號碼");
  
 // 聯繫電話(手機/電話皆可)驗證
 jQry.validator.addMethod("isPhone", function(val,element) {
     var length = val.length;
     var mobile = /^((([-]{})|([-]{}))+\d{})$/;
     var tel = /^\d{,}-?\d{,}$/;
     return this.optional(element) || (tel.test(val) || mobile.test(val));
 }, "請正確填寫您的聯繫電話");  

 // 郵政編碼驗證
 jQry.validator.addMethod("isZipCode", function(val, element) {
     var tel = /^[-]{}$/;
     return this.optional(element) || (tel.test(val));
 }, "請正確填寫您的郵政編碼");

 //開始驗證
 $('#s mitForm').validate({
     /**//* 設置驗證規則 */
     rules: {
         username: {
             required:tr,
             stringCheck:tr,
             byteRangeLength:[,]
         },
         email:{
             required:tr,
             email:tr
         },
         phone:{
             required:tr,
             isPhone:tr
         },  
         address:{
             required:tr,
             stringCheck:tr,
             byteRangeLength:[,]
         }
     },

     /**//* 設置錯誤信息 */
     messages: {
         username: {
             required: "請填寫用戶名",
             stringCheck: "用戶名只能包括中文字、英文字母、數字和下劃線",
             byteRangeLength: "用戶名必須在-個字符之間(一箇中文字算個字符)"
         },
         email:{
             required: "請輸入一個Email地址",
             email: "請輸入一個有效的Email地址"
         },
         phone:{
             required: "請輸入您的聯繫電話",
             isPhone: "請輸入一個有效的聯繫電話"
        },
        address:{
            required: "請輸入您的聯繫地址",
            stringCheck: "請正確輸入您的聯繫地址",
            byteRangeLength: "請詳實您的聯繫地址以便於我們聯繫您"
        }
    },

   /* 設置驗證觸發事件 */
    focusInvalid: false,
    onkeyup: false,

    /**//* 設置錯誤信息提示DOM */
    errorPlacement: function(error, element) {
        error.appendTo( element.parent());
    },
});

});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章