| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- import assertString from './util/assertString';
 
- // common patterns
 
- var threeDigit = /^\d{3}$/;
 
- var fourDigit = /^\d{4}$/;
 
- var fiveDigit = /^\d{5}$/;
 
- var sixDigit = /^\d{6}$/;
 
- var patterns = {
 
-   AD: /^AD\d{3}$/,
 
-   AT: fourDigit,
 
-   AU: fourDigit,
 
-   AZ: /^AZ\d{4}$/,
 
-   BA: /^([7-8]\d{4}$)/,
 
-   BE: fourDigit,
 
-   BG: fourDigit,
 
-   BR: /^\d{5}-\d{3}$/,
 
-   BY: /^2[1-4]\d{4}$/,
 
-   CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,
 
-   CH: fourDigit,
 
-   CN: /^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,
 
-   CZ: /^\d{3}\s?\d{2}$/,
 
-   DE: fiveDigit,
 
-   DK: fourDigit,
 
-   DO: fiveDigit,
 
-   DZ: fiveDigit,
 
-   EE: fiveDigit,
 
-   ES: /^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,
 
-   FI: fiveDigit,
 
-   FR: /^\d{2}\s?\d{3}$/,
 
-   GB: /^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,
 
-   GR: /^\d{3}\s?\d{2}$/,
 
-   HR: /^([1-5]\d{4}$)/,
 
-   HT: /^HT\d{4}$/,
 
-   HU: fourDigit,
 
-   ID: fiveDigit,
 
-   IE: /^(?!.*(?:o))[A-Za-z]\d[\dw]\s\w{4}$/i,
 
-   IL: /^(\d{5}|\d{7})$/,
 
-   IN: /^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,
 
-   IR: /^(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}$/,
 
-   IS: threeDigit,
 
-   IT: fiveDigit,
 
-   JP: /^\d{3}\-\d{4}$/,
 
-   KE: fiveDigit,
 
-   KR: /^(\d{5}|\d{6})$/,
 
-   LI: /^(948[5-9]|949[0-7])$/,
 
-   LT: /^LT\-\d{5}$/,
 
-   LU: fourDigit,
 
-   LV: /^LV\-\d{4}$/,
 
-   LK: fiveDigit,
 
-   MG: threeDigit,
 
-   MX: fiveDigit,
 
-   MT: /^[A-Za-z]{3}\s{0,1}\d{4}$/,
 
-   MY: fiveDigit,
 
-   NL: /^[1-9]\d{3}\s?(?!sa|sd|ss)[a-z]{2}$/i,
 
-   NO: fourDigit,
 
-   NP: /^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,
 
-   NZ: fourDigit,
 
-   PL: /^\d{2}\-\d{3}$/,
 
-   PR: /^00[679]\d{2}([ -]\d{4})?$/,
 
-   PT: /^\d{4}\-\d{3}?$/,
 
-   RO: sixDigit,
 
-   RU: sixDigit,
 
-   SA: fiveDigit,
 
-   SE: /^[1-9]\d{2}\s?\d{2}$/,
 
-   SG: sixDigit,
 
-   SI: fourDigit,
 
-   SK: /^\d{3}\s?\d{2}$/,
 
-   TH: fiveDigit,
 
-   TN: fourDigit,
 
-   TW: /^\d{3}(\d{2})?$/,
 
-   UA: fiveDigit,
 
-   US: /^\d{5}(-\d{4})?$/,
 
-   ZA: fourDigit,
 
-   ZM: fiveDigit
 
- };
 
- export var locales = Object.keys(patterns);
 
- export default function isPostalCode(str, locale) {
 
-   assertString(str);
 
-   if (locale in patterns) {
 
-     return patterns[locale].test(str);
 
-   } else if (locale === 'any') {
 
-     for (var key in patterns) {
 
-       // https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes
 
-       // istanbul ignore else
 
-       if (patterns.hasOwnProperty(key)) {
 
-         var pattern = patterns[key];
 
-         if (pattern.test(str)) {
 
-           return true;
 
-         }
 
-       }
 
-     }
 
-     return false;
 
-   }
 
-   throw new Error("Invalid locale '".concat(locale, "'"));
 
- }
 
 
  |