2012-12-24 46 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