2011-05-07 88 views
1

我有两种方法来验证邮政编码。jquery中的条件验证

我有国家列表框,在这里如果我选择美国,我需要使用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#"); 

验证插件 http://bassistance.de/

我该怎么办this.Suggest我!

回答

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,可添加您的自定义验证usazipRegexcanadaPostalCodeRegex

+0

其他国家呢!你能解释一下吗?我应该把美国和加拿大的班级加入列表框 – Gowri 2011-05-07 08:23:10