isPostalCode.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = _default;
  6. exports.locales = void 0;
  7. var _assertString = _interopRequireDefault(require("./util/assertString"));
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  9. // common patterns
  10. var threeDigit = /^\d{3}$/;
  11. var fourDigit = /^\d{4}$/;
  12. var fiveDigit = /^\d{5}$/;
  13. var sixDigit = /^\d{6}$/;
  14. var patterns = {
  15. AD: /^AD\d{3}$/,
  16. AT: fourDigit,
  17. AU: fourDigit,
  18. BE: fourDigit,
  19. BG: fourDigit,
  20. CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,
  21. CH: fourDigit,
  22. CZ: /^\d{3}\s?\d{2}$/,
  23. DE: fiveDigit,
  24. DK: fourDigit,
  25. DZ: fiveDigit,
  26. EE: fiveDigit,
  27. ES: fiveDigit,
  28. FI: fiveDigit,
  29. FR: /^\d{2}\s?\d{3}$/,
  30. GB: /^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,
  31. GR: /^\d{3}\s?\d{2}$/,
  32. HR: /^([1-5]\d{4}$)/,
  33. HU: fourDigit,
  34. IL: fiveDigit,
  35. IN: sixDigit,
  36. IS: threeDigit,
  37. IT: fiveDigit,
  38. JP: /^\d{3}\-\d{4}$/,
  39. KE: fiveDigit,
  40. LI: /^(948[5-9]|949[0-7])$/,
  41. LT: /^LT\-\d{5}$/,
  42. LU: fourDigit,
  43. LV: /^LV\-\d{4}$/,
  44. MX: fiveDigit,
  45. NL: /^\d{4}\s?[a-z]{2}$/i,
  46. NO: fourDigit,
  47. PL: /^\d{2}\-\d{3}$/,
  48. PT: /^\d{4}\-\d{3}?$/,
  49. RO: sixDigit,
  50. RU: sixDigit,
  51. SA: fiveDigit,
  52. SE: /^\d{3}\s?\d{2}$/,
  53. SI: fourDigit,
  54. SK: /^\d{3}\s?\d{2}$/,
  55. TN: fourDigit,
  56. TW: /^\d{3}(\d{2})?$/,
  57. UA: fiveDigit,
  58. US: /^\d{5}(-\d{4})?$/,
  59. ZA: fourDigit,
  60. ZM: fiveDigit
  61. };
  62. var locales = Object.keys(patterns);
  63. exports.locales = locales;
  64. function _default(str, locale) {
  65. (0, _assertString.default)(str);
  66. if (locale in patterns) {
  67. return patterns[locale].test(str);
  68. } else if (locale === 'any') {
  69. for (var key in patterns) {
  70. if (patterns.hasOwnProperty(key)) {
  71. var pattern = patterns[key];
  72. if (pattern.test(str)) {
  73. return true;
  74. }
  75. }
  76. }
  77. return false;
  78. }
  79. throw new Error("Invalid locale '".concat(locale, "'"));
  80. }