I have experience in complex form validation with javascript including verifying valid zip/postal codes based on American and Canadian formats without users having to be constrained to using one format. For example, a Canadian postal code can be in the following forms: A1A 1A1, A1A1A1, a1a1a1, a1a 1a1, or any combination of uppercase, lowercase and spaces, as long as it follows the convention of letter-number-letter-number-letter-number my form will validate it. It will also allow users to input US zip codes in the 5-digit or 9-digit hyphenated formats - all in the same form as the Canadian postal code validation, along with location and password validation.