2012-12-24 123 views
0

如何添加自定義的jQuery驗證與*或#一起驗證一個或兩個數字, 如:* 2#,* 23#如何添加自定義jquery驗證?

我曾嘗試下面的代碼,但它不符合我的要求,

$.validator.addMethod("shortCodes", function(value, element) { 
    return this.optional(element) || value === "NA" || 
     value.match(/^[0-9,\*#]+$/); 
}, "Please enter only one or two digit number along with(* or #)"); 

任何幫助將不勝感激......

回答

0
$.validator.addMethod("pattern", function(value, element) { 
    return this.optional(element) || this.patternCheck(value); 

}, "Please enter 1 or 2 digit number or number along with special characters(* or #)   (ex:5,55,*5,5#,*55#)."); 

this.patternCheck = function(value){ 
    if(value.match(/^[\*#]\d{1,2}?[\*#]$/)){ 
     return true; 
    }else if(value.match(/^[\*#]\d{1,2}$/)){ 
     return true; 
    }else if(value.match(/^\d{1,2}[\*#]$/)){ 
     return true; 
    }else if(value.match(/^\d{1,2}$/)){ 
     return true; 
    }else if(value.match(/^[\*#]$/)){ 
     return true; 
    }else{ 
     return false; 
    } 

}; 
0

正則表達式應該是:

/^(NA|[0-9*#]{1,2})$/ 

有了這個正則表達式你不需要單獨檢查「NA」。

+0

,由於其不允許兩個以上的charaters ...我需要的是最大長度字段不應該侷限於如:* 1#,* 23# – user2587222

+0

你說:「一個,二位的數字」。請澄清你的要求。 – Barmar

+0

是的,但我已經提到了一個或兩個數字號碼*或# – user2587222