2011-05-07 81 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