我有两种验证邮政编码的方法。
我有国家列表框,如果我选择美国,我需要使用 usazipRegex 方法进行验证,或者如果我选择加拿大,我需要使用 canadazipRegex 进行验证。假设我选择了任何其他国家,只需要必需
//USA zipcode validation methode
jQuery.validator.addMethod("usazipRegex", function(value, element) {
return this.optional(element) || /^[0-9]{5}(?:-[0-9]{4})?$/i.test(value);
}, "You must enter your postal code in this format: #####-####");
//Canada zipcode validation methode
jQuery.validator.addMethod("canadazipRegex", function(value, element) {
return this.optional(element) || /^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$/i.test(value);
}, "You must enter your postal code in this format: A#A #A#");
我怎么能这样做。建议我!
答案 0 :(得分:1)
您可以在更改国家/地区时在输入上切换CSS class
,然后使用addClassRules( name, rules )
,如下所示:
jQuery.validator.addClassRules("usa", {
required: true,
minlength: 10,
usazipRegex: true
});
jQuery.validator.addClassRules("canada", {
required: true,
minlength: 8,
canadaPostalCodeRegex: true
});
与jQuery.validator.addMethod
合并,添加自定义验证器usazipRegex
和canadaPostalCodeRegex
。