z-schema 5.0.1 → 5.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3063,7 +3063,7 @@ var _isHSL = _interopRequireDefault(require("./lib/isHSL"));
3063
3063
 
3064
3064
  var _isISRC = _interopRequireDefault(require("./lib/isISRC"));
3065
3065
 
3066
- var _isIBAN = _interopRequireDefault(require("./lib/isIBAN"));
3066
+ var _isIBAN = _interopRequireWildcard(require("./lib/isIBAN"));
3067
3067
 
3068
3068
  var _isBIC = _interopRequireDefault(require("./lib/isBIC"));
3069
3069
 
@@ -3121,6 +3121,8 @@ var _isISO31661Alpha = _interopRequireDefault(require("./lib/isISO31661Alpha2"))
3121
3121
 
3122
3122
  var _isISO31661Alpha2 = _interopRequireDefault(require("./lib/isISO31661Alpha3"));
3123
3123
 
3124
+ var _isISO2 = _interopRequireDefault(require("./lib/isISO4217"));
3125
+
3124
3126
  var _isBase = _interopRequireDefault(require("./lib/isBase32"));
3125
3127
 
3126
3128
  var _isBase2 = _interopRequireDefault(require("./lib/isBase58"));
@@ -3171,7 +3173,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
3171
3173
 
3172
3174
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3173
3175
 
3174
- var version = '13.6.0';
3176
+ var version = '13.7.0';
3175
3177
  var validator = {
3176
3178
  version: version,
3177
3179
  toDate: _toDate.default,
@@ -3248,6 +3250,7 @@ var validator = {
3248
3250
  isRFC3339: _isRFC.default,
3249
3251
  isISO31661Alpha2: _isISO31661Alpha.default,
3250
3252
  isISO31661Alpha3: _isISO31661Alpha2.default,
3253
+ isISO4217: _isISO2.default,
3251
3254
  isBase32: _isBase.default,
3252
3255
  isBase58: _isBase2.default,
3253
3256
  isBase64: _isBase3.default,
@@ -3271,13 +3274,14 @@ var validator = {
3271
3274
  isTaxID: _isTaxID.default,
3272
3275
  isDate: _isDate.default,
3273
3276
  isLicensePlate: _isLicensePlate.default,
3274
- isVAT: _isVAT.default
3277
+ isVAT: _isVAT.default,
3278
+ ibanLocales: _isIBAN.locales
3275
3279
  };
3276
3280
  var _default = validator;
3277
3281
  exports.default = _default;
3278
3282
  module.exports = exports.default;
3279
3283
  module.exports.default = exports.default;
3280
- },{"./lib/blacklist":6,"./lib/contains":7,"./lib/equals":8,"./lib/escape":9,"./lib/isAfter":10,"./lib/isAlpha":11,"./lib/isAlphanumeric":12,"./lib/isAscii":13,"./lib/isBIC":14,"./lib/isBase32":15,"./lib/isBase58":16,"./lib/isBase64":17,"./lib/isBefore":18,"./lib/isBoolean":19,"./lib/isBtcAddress":20,"./lib/isByteLength":21,"./lib/isCreditCard":22,"./lib/isCurrency":23,"./lib/isDataURI":24,"./lib/isDate":25,"./lib/isDecimal":26,"./lib/isDivisibleBy":27,"./lib/isEAN":28,"./lib/isEmail":29,"./lib/isEmpty":30,"./lib/isEthereumAddress":31,"./lib/isFQDN":32,"./lib/isFloat":33,"./lib/isFullWidth":34,"./lib/isHSL":35,"./lib/isHalfWidth":36,"./lib/isHash":37,"./lib/isHexColor":38,"./lib/isHexadecimal":39,"./lib/isIBAN":40,"./lib/isIMEI":41,"./lib/isIP":42,"./lib/isIPRange":43,"./lib/isISBN":44,"./lib/isISIN":45,"./lib/isISO31661Alpha2":46,"./lib/isISO31661Alpha3":47,"./lib/isISO8601":48,"./lib/isISRC":49,"./lib/isISSN":50,"./lib/isIdentityCard":51,"./lib/isIn":52,"./lib/isInt":53,"./lib/isJSON":54,"./lib/isJWT":55,"./lib/isLatLong":56,"./lib/isLength":57,"./lib/isLicensePlate":58,"./lib/isLocale":59,"./lib/isLowercase":60,"./lib/isMACAddress":61,"./lib/isMD5":62,"./lib/isMagnetURI":63,"./lib/isMimeType":64,"./lib/isMobilePhone":65,"./lib/isMongoId":66,"./lib/isMultibyte":67,"./lib/isNumeric":68,"./lib/isOctal":69,"./lib/isPassportNumber":70,"./lib/isPort":71,"./lib/isPostalCode":72,"./lib/isRFC3339":73,"./lib/isRgbColor":74,"./lib/isSemVer":75,"./lib/isSlug":76,"./lib/isStrongPassword":77,"./lib/isSurrogatePair":78,"./lib/isTaxID":79,"./lib/isURL":80,"./lib/isUUID":81,"./lib/isUppercase":82,"./lib/isVAT":83,"./lib/isVariableWidth":84,"./lib/isWhitelisted":85,"./lib/ltrim":86,"./lib/matches":87,"./lib/normalizeEmail":88,"./lib/rtrim":89,"./lib/stripLow":90,"./lib/toBoolean":91,"./lib/toDate":92,"./lib/toFloat":93,"./lib/toInt":94,"./lib/trim":95,"./lib/unescape":96,"./lib/whitelist":103}],5:[function(require,module,exports){
3284
+ },{"./lib/blacklist":6,"./lib/contains":7,"./lib/equals":8,"./lib/escape":9,"./lib/isAfter":10,"./lib/isAlpha":11,"./lib/isAlphanumeric":12,"./lib/isAscii":13,"./lib/isBIC":14,"./lib/isBase32":15,"./lib/isBase58":16,"./lib/isBase64":17,"./lib/isBefore":18,"./lib/isBoolean":19,"./lib/isBtcAddress":20,"./lib/isByteLength":21,"./lib/isCreditCard":22,"./lib/isCurrency":23,"./lib/isDataURI":24,"./lib/isDate":25,"./lib/isDecimal":26,"./lib/isDivisibleBy":27,"./lib/isEAN":28,"./lib/isEmail":29,"./lib/isEmpty":30,"./lib/isEthereumAddress":31,"./lib/isFQDN":32,"./lib/isFloat":33,"./lib/isFullWidth":34,"./lib/isHSL":35,"./lib/isHalfWidth":36,"./lib/isHash":37,"./lib/isHexColor":38,"./lib/isHexadecimal":39,"./lib/isIBAN":40,"./lib/isIMEI":41,"./lib/isIP":42,"./lib/isIPRange":43,"./lib/isISBN":44,"./lib/isISIN":45,"./lib/isISO31661Alpha2":46,"./lib/isISO31661Alpha3":47,"./lib/isISO4217":48,"./lib/isISO8601":49,"./lib/isISRC":50,"./lib/isISSN":51,"./lib/isIdentityCard":52,"./lib/isIn":53,"./lib/isInt":54,"./lib/isJSON":55,"./lib/isJWT":56,"./lib/isLatLong":57,"./lib/isLength":58,"./lib/isLicensePlate":59,"./lib/isLocale":60,"./lib/isLowercase":61,"./lib/isMACAddress":62,"./lib/isMD5":63,"./lib/isMagnetURI":64,"./lib/isMimeType":65,"./lib/isMobilePhone":66,"./lib/isMongoId":67,"./lib/isMultibyte":68,"./lib/isNumeric":69,"./lib/isOctal":70,"./lib/isPassportNumber":71,"./lib/isPort":72,"./lib/isPostalCode":73,"./lib/isRFC3339":74,"./lib/isRgbColor":75,"./lib/isSemVer":76,"./lib/isSlug":77,"./lib/isStrongPassword":78,"./lib/isSurrogatePair":79,"./lib/isTaxID":80,"./lib/isURL":81,"./lib/isUUID":82,"./lib/isUppercase":83,"./lib/isVAT":84,"./lib/isVariableWidth":85,"./lib/isWhitelisted":86,"./lib/ltrim":87,"./lib/matches":88,"./lib/normalizeEmail":89,"./lib/rtrim":90,"./lib/stripLow":91,"./lib/toBoolean":92,"./lib/toDate":93,"./lib/toFloat":94,"./lib/toInt":95,"./lib/trim":96,"./lib/unescape":97,"./lib/whitelist":104}],5:[function(require,module,exports){
3281
3285
  "use strict";
3282
3286
 
3283
3287
  Object.defineProperty(exports, "__esModule", {
@@ -3294,6 +3298,7 @@ var alpha = {
3294
3298
  'el-GR': /^[Α-ώ]+$/i,
3295
3299
  'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
3296
3300
  'fa-IR': /^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,
3301
+ 'fi-FI': /^[A-ZÅÄÖ]+$/i,
3297
3302
  'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
3298
3303
  'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i,
3299
3304
  'nb-NO': /^[A-ZÆØÅ]+$/i,
@@ -3315,7 +3320,8 @@ var alpha = {
3315
3320
  'ku-IQ': /^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,
3316
3321
  ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,
3317
3322
  he: /^[א-ת]+$/,
3318
- fa: /^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i
3323
+ fa: /^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i,
3324
+ 'hi-IN': /^[\u0900-\u0961]+[\u0972-\u097F]*$/i
3319
3325
  };
3320
3326
  exports.alpha = alpha;
3321
3327
  var alphanumeric = {
@@ -3327,6 +3333,7 @@ var alphanumeric = {
3327
3333
  'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
3328
3334
  'el-GR': /^[0-9Α-ω]+$/i,
3329
3335
  'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
3336
+ 'fi-FI': /^[0-9A-ZÅÄÖ]+$/i,
3330
3337
  'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
3331
3338
  'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,
3332
3339
  'hu-HU': /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,
@@ -3348,7 +3355,8 @@ var alphanumeric = {
3348
3355
  'vi-VN': /^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,
3349
3356
  ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,
3350
3357
  he: /^[0-9א-ת]+$/,
3351
- fa: /^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i
3358
+ fa: /^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i,
3359
+ 'hi-IN': /^[\u0900-\u0963]+[\u0966-\u097F]*$/i
3352
3360
  };
3353
3361
  exports.alphanumeric = alphanumeric;
3354
3362
  var decimal = {
@@ -3389,7 +3397,7 @@ for (var _locale2, _i2 = 0; _i2 < farsiLocales.length; _i2++) {
3389
3397
 
3390
3398
  var dotDecimal = ['ar-EG', 'ar-LB', 'ar-LY'];
3391
3399
  exports.dotDecimal = dotDecimal;
3392
- var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'es-ES', 'fr-CA', 'fr-FR', 'id-ID', 'it-IT', 'ku-IQ', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN'];
3400
+ var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'es-ES', 'fr-CA', 'fr-FR', 'id-ID', 'it-IT', 'ku-IQ', 'hi-IN', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN'];
3393
3401
  exports.commaDecimal = commaDecimal;
3394
3402
 
3395
3403
  for (var _i3 = 0; _i3 < dotDecimal.length; _i3++) {
@@ -3430,7 +3438,7 @@ function blacklist(str, chars) {
3430
3438
 
3431
3439
  module.exports = exports.default;
3432
3440
  module.exports.default = exports.default;
3433
- },{"./util/assertString":98}],7:[function(require,module,exports){
3441
+ },{"./util/assertString":99}],7:[function(require,module,exports){
3434
3442
  "use strict";
3435
3443
 
3436
3444
  Object.defineProperty(exports, "__esModule", {
@@ -3447,18 +3455,24 @@ var _merge = _interopRequireDefault(require("./util/merge"));
3447
3455
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3448
3456
 
3449
3457
  var defaulContainsOptions = {
3450
- ignoreCase: false
3458
+ ignoreCase: false,
3459
+ minOccurrences: 1
3451
3460
  };
3452
3461
 
3453
3462
  function contains(str, elem, options) {
3454
3463
  (0, _assertString.default)(str);
3455
3464
  options = (0, _merge.default)(options, defaulContainsOptions);
3456
- return options.ignoreCase ? str.toLowerCase().indexOf((0, _toString.default)(elem).toLowerCase()) >= 0 : str.indexOf((0, _toString.default)(elem)) >= 0;
3465
+
3466
+ if (options.ignoreCase) {
3467
+ return str.toLowerCase().split((0, _toString.default)(elem).toLowerCase()).length > options.minOccurrences;
3468
+ }
3469
+
3470
+ return str.split((0, _toString.default)(elem)).length > options.minOccurrences;
3457
3471
  }
3458
3472
 
3459
3473
  module.exports = exports.default;
3460
3474
  module.exports.default = exports.default;
3461
- },{"./util/assertString":98,"./util/merge":100,"./util/toString":102}],8:[function(require,module,exports){
3475
+ },{"./util/assertString":99,"./util/merge":101,"./util/toString":103}],8:[function(require,module,exports){
3462
3476
  "use strict";
3463
3477
 
3464
3478
  Object.defineProperty(exports, "__esModule", {
@@ -3477,7 +3491,7 @@ function equals(str, comparison) {
3477
3491
 
3478
3492
  module.exports = exports.default;
3479
3493
  module.exports.default = exports.default;
3480
- },{"./util/assertString":98}],9:[function(require,module,exports){
3494
+ },{"./util/assertString":99}],9:[function(require,module,exports){
3481
3495
  "use strict";
3482
3496
 
3483
3497
  Object.defineProperty(exports, "__esModule", {
@@ -3496,7 +3510,7 @@ function escape(str) {
3496
3510
 
3497
3511
  module.exports = exports.default;
3498
3512
  module.exports.default = exports.default;
3499
- },{"./util/assertString":98}],10:[function(require,module,exports){
3513
+ },{"./util/assertString":99}],10:[function(require,module,exports){
3500
3514
  "use strict";
3501
3515
 
3502
3516
  Object.defineProperty(exports, "__esModule", {
@@ -3520,7 +3534,7 @@ function isAfter(str) {
3520
3534
 
3521
3535
  module.exports = exports.default;
3522
3536
  module.exports.default = exports.default;
3523
- },{"./toDate":92,"./util/assertString":98}],11:[function(require,module,exports){
3537
+ },{"./toDate":93,"./util/assertString":99}],11:[function(require,module,exports){
3524
3538
  "use strict";
3525
3539
 
3526
3540
  Object.defineProperty(exports, "__esModule", {
@@ -3561,7 +3575,7 @@ function isAlpha(_str) {
3561
3575
 
3562
3576
  var locales = Object.keys(_alpha.alpha);
3563
3577
  exports.locales = locales;
3564
- },{"./alpha":5,"./util/assertString":98}],12:[function(require,module,exports){
3578
+ },{"./alpha":5,"./util/assertString":99}],12:[function(require,module,exports){
3565
3579
  "use strict";
3566
3580
 
3567
3581
  Object.defineProperty(exports, "__esModule", {
@@ -3602,7 +3616,7 @@ function isAlphanumeric(_str) {
3602
3616
 
3603
3617
  var locales = Object.keys(_alpha.alphanumeric);
3604
3618
  exports.locales = locales;
3605
- },{"./alpha":5,"./util/assertString":98}],13:[function(require,module,exports){
3619
+ },{"./alpha":5,"./util/assertString":99}],13:[function(require,module,exports){
3606
3620
  "use strict";
3607
3621
 
3608
3622
  Object.defineProperty(exports, "__esModule", {
@@ -3625,7 +3639,7 @@ function isAscii(str) {
3625
3639
 
3626
3640
  module.exports = exports.default;
3627
3641
  module.exports.default = exports.default;
3628
- },{"./util/assertString":98}],14:[function(require,module,exports){
3642
+ },{"./util/assertString":99}],14:[function(require,module,exports){
3629
3643
  "use strict";
3630
3644
 
3631
3645
  Object.defineProperty(exports, "__esModule", {
@@ -3646,7 +3660,7 @@ function isBIC(str) {
3646
3660
  (0, _assertString.default)(str); // toUpperCase() should be removed when a new major version goes out that changes
3647
3661
  // the regex to [A-Z] (per the spec).
3648
3662
 
3649
- if (_isISO31661Alpha.CountryCodes.indexOf(str.slice(4, 6).toUpperCase()) < 0) {
3663
+ if (!_isISO31661Alpha.CountryCodes.has(str.slice(4, 6).toUpperCase())) {
3650
3664
  return false;
3651
3665
  }
3652
3666
 
@@ -3655,7 +3669,7 @@ function isBIC(str) {
3655
3669
 
3656
3670
  module.exports = exports.default;
3657
3671
  module.exports.default = exports.default;
3658
- },{"./isISO31661Alpha2":46,"./util/assertString":98}],15:[function(require,module,exports){
3672
+ },{"./isISO31661Alpha2":46,"./util/assertString":99}],15:[function(require,module,exports){
3659
3673
  "use strict";
3660
3674
 
3661
3675
  Object.defineProperty(exports, "__esModule", {
@@ -3682,7 +3696,7 @@ function isBase32(str) {
3682
3696
 
3683
3697
  module.exports = exports.default;
3684
3698
  module.exports.default = exports.default;
3685
- },{"./util/assertString":98}],16:[function(require,module,exports){
3699
+ },{"./util/assertString":99}],16:[function(require,module,exports){
3686
3700
  "use strict";
3687
3701
 
3688
3702
  Object.defineProperty(exports, "__esModule", {
@@ -3709,7 +3723,7 @@ function isBase58(str) {
3709
3723
 
3710
3724
  module.exports = exports.default;
3711
3725
  module.exports.default = exports.default;
3712
- },{"./util/assertString":98}],17:[function(require,module,exports){
3726
+ },{"./util/assertString":99}],17:[function(require,module,exports){
3713
3727
  "use strict";
3714
3728
 
3715
3729
  Object.defineProperty(exports, "__esModule", {
@@ -3748,7 +3762,7 @@ function isBase64(str, options) {
3748
3762
 
3749
3763
  module.exports = exports.default;
3750
3764
  module.exports.default = exports.default;
3751
- },{"./util/assertString":98,"./util/merge":100}],18:[function(require,module,exports){
3765
+ },{"./util/assertString":99,"./util/merge":101}],18:[function(require,module,exports){
3752
3766
  "use strict";
3753
3767
 
3754
3768
  Object.defineProperty(exports, "__esModule", {
@@ -3772,7 +3786,7 @@ function isBefore(str) {
3772
3786
 
3773
3787
  module.exports = exports.default;
3774
3788
  module.exports.default = exports.default;
3775
- },{"./toDate":92,"./util/assertString":98}],19:[function(require,module,exports){
3789
+ },{"./toDate":93,"./util/assertString":99}],19:[function(require,module,exports){
3776
3790
  "use strict";
3777
3791
 
3778
3792
  Object.defineProperty(exports, "__esModule", {
@@ -3784,14 +3798,26 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
3784
3798
 
3785
3799
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3786
3800
 
3801
+ var defaultOptions = {
3802
+ loose: false
3803
+ };
3804
+ var strictBooleans = ['true', 'false', '1', '0'];
3805
+ var looseBooleans = [].concat(strictBooleans, ['yes', 'no']);
3806
+
3787
3807
  function isBoolean(str) {
3808
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOptions;
3788
3809
  (0, _assertString.default)(str);
3789
- return ['true', 'false', '1', '0'].indexOf(str) >= 0;
3810
+
3811
+ if (options.loose) {
3812
+ return looseBooleans.includes(str.toLowerCase());
3813
+ }
3814
+
3815
+ return strictBooleans.includes(str);
3790
3816
  }
3791
3817
 
3792
3818
  module.exports = exports.default;
3793
3819
  module.exports.default = exports.default;
3794
- },{"./util/assertString":98}],20:[function(require,module,exports){
3820
+ },{"./util/assertString":99}],20:[function(require,module,exports){
3795
3821
  "use strict";
3796
3822
 
3797
3823
  Object.defineProperty(exports, "__esModule", {
@@ -3819,7 +3845,7 @@ function isBtcAddress(str) {
3819
3845
 
3820
3846
  module.exports = exports.default;
3821
3847
  module.exports.default = exports.default;
3822
- },{"./util/assertString":98}],21:[function(require,module,exports){
3848
+ },{"./util/assertString":99}],21:[function(require,module,exports){
3823
3849
  "use strict";
3824
3850
 
3825
3851
  Object.defineProperty(exports, "__esModule", {
@@ -3854,7 +3880,7 @@ function isByteLength(str, options) {
3854
3880
 
3855
3881
  module.exports = exports.default;
3856
3882
  module.exports.default = exports.default;
3857
- },{"./util/assertString":98}],22:[function(require,module,exports){
3883
+ },{"./util/assertString":99}],22:[function(require,module,exports){
3858
3884
  "use strict";
3859
3885
 
3860
3886
  Object.defineProperty(exports, "__esModule", {
@@ -3867,7 +3893,7 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
3867
3893
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3868
3894
 
3869
3895
  /* eslint-disable max-len */
3870
- var creditCard = /^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/;
3896
+ var creditCard = /^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/;
3871
3897
  /* eslint-enable max-len */
3872
3898
 
3873
3899
  function isCreditCard(str) {
@@ -3907,7 +3933,7 @@ function isCreditCard(str) {
3907
3933
 
3908
3934
  module.exports = exports.default;
3909
3935
  module.exports.default = exports.default;
3910
- },{"./util/assertString":98}],23:[function(require,module,exports){
3936
+ },{"./util/assertString":99}],23:[function(require,module,exports){
3911
3937
  "use strict";
3912
3938
 
3913
3939
  Object.defineProperty(exports, "__esModule", {
@@ -3999,7 +4025,7 @@ function isCurrency(str, options) {
3999
4025
 
4000
4026
  module.exports = exports.default;
4001
4027
  module.exports.default = exports.default;
4002
- },{"./util/assertString":98,"./util/merge":100}],24:[function(require,module,exports){
4028
+ },{"./util/assertString":99,"./util/merge":101}],24:[function(require,module,exports){
4003
4029
  "use strict";
4004
4030
 
4005
4031
  Object.defineProperty(exports, "__esModule", {
@@ -4053,7 +4079,7 @@ function isDataURI(str) {
4053
4079
 
4054
4080
  module.exports = exports.default;
4055
4081
  module.exports.default = exports.default;
4056
- },{"./util/assertString":98}],25:[function(require,module,exports){
4082
+ },{"./util/assertString":99}],25:[function(require,module,exports){
4057
4083
  "use strict";
4058
4084
 
4059
4085
  Object.defineProperty(exports, "__esModule", {
@@ -4086,7 +4112,7 @@ var default_date_options = {
4086
4112
  };
4087
4113
 
4088
4114
  function isValidFormat(format) {
4089
- return /(^(y{4}|y{2})[\/-](m{1,2})[\/-](d{1,2})$)|(^(m{1,2})[\/-](d{1,2})[\/-]((y{4}|y{2})$))|(^(d{1,2})[\/-](m{1,2})[\/-]((y{4}|y{2})$))/gi.test(format);
4115
+ return /(^(y{4}|y{2})[.\/-](m{1,2})[.\/-](d{1,2})$)|(^(m{1,2})[.\/-](d{1,2})[.\/-]((y{4}|y{2})$))|(^(d{1,2})[.\/-](m{1,2})[.\/-]((y{4}|y{2})$))/gi.test(format);
4090
4116
  }
4091
4117
 
4092
4118
  function zip(date, format) {
@@ -4153,7 +4179,7 @@ function isDate(input, options) {
4153
4179
 
4154
4180
  module.exports = exports.default;
4155
4181
  module.exports.default = exports.default;
4156
- },{"./util/merge":100}],26:[function(require,module,exports){
4182
+ },{"./util/merge":101}],26:[function(require,module,exports){
4157
4183
  "use strict";
4158
4184
 
4159
4185
  Object.defineProperty(exports, "__esModule", {
@@ -4196,7 +4222,7 @@ function isDecimal(str, options) {
4196
4222
 
4197
4223
  module.exports = exports.default;
4198
4224
  module.exports.default = exports.default;
4199
- },{"./alpha":5,"./util/assertString":98,"./util/includes":99,"./util/merge":100}],27:[function(require,module,exports){
4225
+ },{"./alpha":5,"./util/assertString":99,"./util/includes":100,"./util/merge":101}],27:[function(require,module,exports){
4200
4226
  "use strict";
4201
4227
 
4202
4228
  Object.defineProperty(exports, "__esModule", {
@@ -4217,7 +4243,7 @@ function isDivisibleBy(str, num) {
4217
4243
 
4218
4244
  module.exports = exports.default;
4219
4245
  module.exports.default = exports.default;
4220
- },{"./toFloat":93,"./util/assertString":98}],28:[function(require,module,exports){
4246
+ },{"./toFloat":94,"./util/assertString":99}],28:[function(require,module,exports){
4221
4247
  "use strict";
4222
4248
 
4223
4249
  Object.defineProperty(exports, "__esModule", {
@@ -4303,7 +4329,7 @@ function isEAN(str) {
4303
4329
 
4304
4330
  module.exports = exports.default;
4305
4331
  module.exports.default = exports.default;
4306
- },{"./util/assertString":98}],29:[function(require,module,exports){
4332
+ },{"./util/assertString":99}],29:[function(require,module,exports){
4307
4333
  "use strict";
4308
4334
 
4309
4335
  Object.defineProperty(exports, "__esModule", {
@@ -4329,7 +4355,8 @@ var default_email_options = {
4329
4355
  allow_utf8_local_part: true,
4330
4356
  require_tld: true,
4331
4357
  blacklisted_chars: '',
4332
- ignore_max_length: false
4358
+ ignore_max_length: false,
4359
+ host_blacklist: []
4333
4360
  };
4334
4361
  /* eslint-disable max-len */
4335
4362
 
@@ -4413,9 +4440,14 @@ function isEmail(str, options) {
4413
4440
 
4414
4441
  var parts = str.split('@');
4415
4442
  var domain = parts.pop();
4416
- var user = parts.join('@');
4417
4443
  var lower_domain = domain.toLowerCase();
4418
4444
 
4445
+ if (options.host_blacklist.includes(lower_domain)) {
4446
+ return false;
4447
+ }
4448
+
4449
+ var user = parts.join('@');
4450
+
4419
4451
  if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {
4420
4452
  /*
4421
4453
  Previously we removed dots for gmail addresses before validating.
@@ -4428,7 +4460,7 @@ function isEmail(str, options) {
4428
4460
 
4429
4461
  var username = user.split('+')[0]; // Dots are not included in gmail length restriction
4430
4462
 
4431
- if (!(0, _isByteLength.default)(username.replace('.', ''), {
4463
+ if (!(0, _isByteLength.default)(username.replace(/\./g, ''), {
4432
4464
  min: 6,
4433
4465
  max: 30
4434
4466
  })) {
@@ -4495,7 +4527,7 @@ function isEmail(str, options) {
4495
4527
 
4496
4528
  module.exports = exports.default;
4497
4529
  module.exports.default = exports.default;
4498
- },{"./isByteLength":21,"./isFQDN":32,"./isIP":42,"./util/assertString":98,"./util/merge":100}],30:[function(require,module,exports){
4530
+ },{"./isByteLength":21,"./isFQDN":32,"./isIP":42,"./util/assertString":99,"./util/merge":101}],30:[function(require,module,exports){
4499
4531
  "use strict";
4500
4532
 
4501
4533
  Object.defineProperty(exports, "__esModule", {
@@ -4521,7 +4553,7 @@ function isEmpty(str, options) {
4521
4553
 
4522
4554
  module.exports = exports.default;
4523
4555
  module.exports.default = exports.default;
4524
- },{"./util/assertString":98,"./util/merge":100}],31:[function(require,module,exports){
4556
+ },{"./util/assertString":99,"./util/merge":101}],31:[function(require,module,exports){
4525
4557
  "use strict";
4526
4558
 
4527
4559
  Object.defineProperty(exports, "__esModule", {
@@ -4542,7 +4574,7 @@ function isEthereumAddress(str) {
4542
4574
 
4543
4575
  module.exports = exports.default;
4544
4576
  module.exports.default = exports.default;
4545
- },{"./util/assertString":98}],32:[function(require,module,exports){
4577
+ },{"./util/assertString":99}],32:[function(require,module,exports){
4546
4578
  "use strict";
4547
4579
 
4548
4580
  Object.defineProperty(exports, "__esModule", {
@@ -4560,7 +4592,8 @@ var default_fqdn_options = {
4560
4592
  require_tld: true,
4561
4593
  allow_underscores: false,
4562
4594
  allow_trailing_dot: false,
4563
- allow_numeric_tld: false
4595
+ allow_numeric_tld: false,
4596
+ allow_wildcard: false
4564
4597
  };
4565
4598
 
4566
4599
  function isFQDN(str, options) {
@@ -4571,6 +4604,12 @@ function isFQDN(str, options) {
4571
4604
  if (options.allow_trailing_dot && str[str.length - 1] === '.') {
4572
4605
  str = str.substring(0, str.length - 1);
4573
4606
  }
4607
+ /* Remove the optional wildcard before checking validity */
4608
+
4609
+
4610
+ if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
4611
+ str = str.substring(2);
4612
+ }
4574
4613
 
4575
4614
  var parts = str.split('.');
4576
4615
  var tld = parts[parts.length - 1];
@@ -4581,12 +4620,12 @@ function isFQDN(str, options) {
4581
4620
  return false;
4582
4621
  }
4583
4622
 
4584
- if (!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
4623
+ if (!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
4585
4624
  return false;
4586
- } // disallow spaces && special characers
4625
+ } // disallow spaces
4587
4626
 
4588
4627
 
4589
- if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(tld)) {
4628
+ if (/\s/.test(tld)) {
4590
4629
  return false;
4591
4630
  }
4592
4631
  } // reject numeric TLDs
@@ -4625,7 +4664,7 @@ function isFQDN(str, options) {
4625
4664
 
4626
4665
  module.exports = exports.default;
4627
4666
  module.exports.default = exports.default;
4628
- },{"./util/assertString":98,"./util/merge":100}],33:[function(require,module,exports){
4667
+ },{"./util/assertString":99,"./util/merge":101}],33:[function(require,module,exports){
4629
4668
  "use strict";
4630
4669
 
4631
4670
  Object.defineProperty(exports, "__esModule", {
@@ -4655,7 +4694,7 @@ function isFloat(str, options) {
4655
4694
 
4656
4695
  var locales = Object.keys(_alpha.decimal);
4657
4696
  exports.locales = locales;
4658
- },{"./alpha":5,"./util/assertString":98}],34:[function(require,module,exports){
4697
+ },{"./alpha":5,"./util/assertString":99}],34:[function(require,module,exports){
4659
4698
  "use strict";
4660
4699
 
4661
4700
  Object.defineProperty(exports, "__esModule", {
@@ -4675,7 +4714,7 @@ function isFullWidth(str) {
4675
4714
  (0, _assertString.default)(str);
4676
4715
  return fullWidth.test(str);
4677
4716
  }
4678
- },{"./util/assertString":98}],35:[function(require,module,exports){
4717
+ },{"./util/assertString":99}],35:[function(require,module,exports){
4679
4718
  "use strict";
4680
4719
 
4681
4720
  Object.defineProperty(exports, "__esModule", {
@@ -4704,7 +4743,7 @@ function isHSL(str) {
4704
4743
 
4705
4744
  module.exports = exports.default;
4706
4745
  module.exports.default = exports.default;
4707
- },{"./util/assertString":98}],36:[function(require,module,exports){
4746
+ },{"./util/assertString":99}],36:[function(require,module,exports){
4708
4747
  "use strict";
4709
4748
 
4710
4749
  Object.defineProperty(exports, "__esModule", {
@@ -4724,7 +4763,7 @@ function isHalfWidth(str) {
4724
4763
  (0, _assertString.default)(str);
4725
4764
  return halfWidth.test(str);
4726
4765
  }
4727
- },{"./util/assertString":98}],37:[function(require,module,exports){
4766
+ },{"./util/assertString":99}],37:[function(require,module,exports){
4728
4767
  "use strict";
4729
4768
 
4730
4769
  Object.defineProperty(exports, "__esModule", {
@@ -4760,7 +4799,7 @@ function isHash(str, algorithm) {
4760
4799
 
4761
4800
  module.exports = exports.default;
4762
4801
  module.exports.default = exports.default;
4763
- },{"./util/assertString":98}],38:[function(require,module,exports){
4802
+ },{"./util/assertString":99}],38:[function(require,module,exports){
4764
4803
  "use strict";
4765
4804
 
4766
4805
  Object.defineProperty(exports, "__esModule", {
@@ -4781,7 +4820,7 @@ function isHexColor(str) {
4781
4820
 
4782
4821
  module.exports = exports.default;
4783
4822
  module.exports.default = exports.default;
4784
- },{"./util/assertString":98}],39:[function(require,module,exports){
4823
+ },{"./util/assertString":99}],39:[function(require,module,exports){
4785
4824
  "use strict";
4786
4825
 
4787
4826
  Object.defineProperty(exports, "__esModule", {
@@ -4802,13 +4841,14 @@ function isHexadecimal(str) {
4802
4841
 
4803
4842
  module.exports = exports.default;
4804
4843
  module.exports.default = exports.default;
4805
- },{"./util/assertString":98}],40:[function(require,module,exports){
4844
+ },{"./util/assertString":99}],40:[function(require,module,exports){
4806
4845
  "use strict";
4807
4846
 
4808
4847
  Object.defineProperty(exports, "__esModule", {
4809
4848
  value: true
4810
4849
  });
4811
4850
  exports.default = isIBAN;
4851
+ exports.locales = void 0;
4812
4852
 
4813
4853
  var _assertString = _interopRequireDefault(require("./util/assertString"));
4814
4854
 
@@ -4950,9 +4990,9 @@ function isIBAN(str) {
4950
4990
  return hasValidIbanFormat(str) && hasValidIbanChecksum(str);
4951
4991
  }
4952
4992
 
4953
- module.exports = exports.default;
4954
- module.exports.default = exports.default;
4955
- },{"./util/assertString":98}],41:[function(require,module,exports){
4993
+ var locales = Object.keys(ibanRegexThroughCountryCode);
4994
+ exports.locales = locales;
4995
+ },{"./util/assertString":99}],41:[function(require,module,exports){
4956
4996
  "use strict";
4957
4997
 
4958
4998
  Object.defineProperty(exports, "__esModule", {
@@ -5014,7 +5054,7 @@ function isIMEI(str, options) {
5014
5054
 
5015
5055
  module.exports = exports.default;
5016
5056
  module.exports.default = exports.default;
5017
- },{"./util/assertString":98}],42:[function(require,module,exports){
5057
+ },{"./util/assertString":99}],42:[function(require,module,exports){
5018
5058
  "use strict";
5019
5059
 
5020
5060
  Object.defineProperty(exports, "__esModule", {
@@ -5090,7 +5130,7 @@ function isIP(str) {
5090
5130
 
5091
5131
  module.exports = exports.default;
5092
5132
  module.exports.default = exports.default;
5093
- },{"./util/assertString":98}],43:[function(require,module,exports){
5133
+ },{"./util/assertString":99}],43:[function(require,module,exports){
5094
5134
  "use strict";
5095
5135
 
5096
5136
  Object.defineProperty(exports, "__esModule", {
@@ -5153,7 +5193,7 @@ function isIPRange(str) {
5153
5193
 
5154
5194
  module.exports = exports.default;
5155
5195
  module.exports.default = exports.default;
5156
- },{"./isIP":42,"./util/assertString":98}],44:[function(require,module,exports){
5196
+ },{"./isIP":42,"./util/assertString":99}],44:[function(require,module,exports){
5157
5197
  "use strict";
5158
5198
 
5159
5199
  Object.defineProperty(exports, "__esModule", {
@@ -5219,7 +5259,7 @@ function isISBN(str) {
5219
5259
 
5220
5260
  module.exports = exports.default;
5221
5261
  module.exports.default = exports.default;
5222
- },{"./util/assertString":98}],45:[function(require,module,exports){
5262
+ },{"./util/assertString":99}],45:[function(require,module,exports){
5223
5263
  "use strict";
5224
5264
 
5225
5265
  Object.defineProperty(exports, "__esModule", {
@@ -5293,7 +5333,7 @@ function isISIN(str) {
5293
5333
 
5294
5334
  module.exports = exports.default;
5295
5335
  module.exports.default = exports.default;
5296
- },{"./util/assertString":98}],46:[function(require,module,exports){
5336
+ },{"./util/assertString":99}],46:[function(require,module,exports){
5297
5337
  "use strict";
5298
5338
 
5299
5339
  Object.defineProperty(exports, "__esModule", {
@@ -5307,16 +5347,16 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
5307
5347
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5308
5348
 
5309
5349
  // from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
5310
- var validISO31661Alpha2CountriesCodes = ['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW'];
5350
+ var validISO31661Alpha2CountriesCodes = new Set(['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW']);
5311
5351
 
5312
5352
  function isISO31661Alpha2(str) {
5313
5353
  (0, _assertString.default)(str);
5314
- return validISO31661Alpha2CountriesCodes.indexOf(str.toUpperCase()) >= 0;
5354
+ return validISO31661Alpha2CountriesCodes.has(str.toUpperCase());
5315
5355
  }
5316
5356
 
5317
5357
  var CountryCodes = validISO31661Alpha2CountriesCodes;
5318
5358
  exports.CountryCodes = CountryCodes;
5319
- },{"./util/assertString":98}],47:[function(require,module,exports){
5359
+ },{"./util/assertString":99}],47:[function(require,module,exports){
5320
5360
  "use strict";
5321
5361
 
5322
5362
  Object.defineProperty(exports, "__esModule", {
@@ -5326,21 +5366,42 @@ exports.default = isISO31661Alpha3;
5326
5366
 
5327
5367
  var _assertString = _interopRequireDefault(require("./util/assertString"));
5328
5368
 
5329
- var _includes = _interopRequireDefault(require("./util/includes"));
5330
-
5331
5369
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5332
5370
 
5333
5371
  // from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
5334
- var validISO31661Alpha3CountriesCodes = ['AFG', 'ALA', 'ALB', 'DZA', 'ASM', 'AND', 'AGO', 'AIA', 'ATA', 'ATG', 'ARG', 'ARM', 'ABW', 'AUS', 'AUT', 'AZE', 'BHS', 'BHR', 'BGD', 'BRB', 'BLR', 'BEL', 'BLZ', 'BEN', 'BMU', 'BTN', 'BOL', 'BES', 'BIH', 'BWA', 'BVT', 'BRA', 'IOT', 'BRN', 'BGR', 'BFA', 'BDI', 'KHM', 'CMR', 'CAN', 'CPV', 'CYM', 'CAF', 'TCD', 'CHL', 'CHN', 'CXR', 'CCK', 'COL', 'COM', 'COG', 'COD', 'COK', 'CRI', 'CIV', 'HRV', 'CUB', 'CUW', 'CYP', 'CZE', 'DNK', 'DJI', 'DMA', 'DOM', 'ECU', 'EGY', 'SLV', 'GNQ', 'ERI', 'EST', 'ETH', 'FLK', 'FRO', 'FJI', 'FIN', 'FRA', 'GUF', 'PYF', 'ATF', 'GAB', 'GMB', 'GEO', 'DEU', 'GHA', 'GIB', 'GRC', 'GRL', 'GRD', 'GLP', 'GUM', 'GTM', 'GGY', 'GIN', 'GNB', 'GUY', 'HTI', 'HMD', 'VAT', 'HND', 'HKG', 'HUN', 'ISL', 'IND', 'IDN', 'IRN', 'IRQ', 'IRL', 'IMN', 'ISR', 'ITA', 'JAM', 'JPN', 'JEY', 'JOR', 'KAZ', 'KEN', 'KIR', 'PRK', 'KOR', 'KWT', 'KGZ', 'LAO', 'LVA', 'LBN', 'LSO', 'LBR', 'LBY', 'LIE', 'LTU', 'LUX', 'MAC', 'MKD', 'MDG', 'MWI', 'MYS', 'MDV', 'MLI', 'MLT', 'MHL', 'MTQ', 'MRT', 'MUS', 'MYT', 'MEX', 'FSM', 'MDA', 'MCO', 'MNG', 'MNE', 'MSR', 'MAR', 'MOZ', 'MMR', 'NAM', 'NRU', 'NPL', 'NLD', 'NCL', 'NZL', 'NIC', 'NER', 'NGA', 'NIU', 'NFK', 'MNP', 'NOR', 'OMN', 'PAK', 'PLW', 'PSE', 'PAN', 'PNG', 'PRY', 'PER', 'PHL', 'PCN', 'POL', 'PRT', 'PRI', 'QAT', 'REU', 'ROU', 'RUS', 'RWA', 'BLM', 'SHN', 'KNA', 'LCA', 'MAF', 'SPM', 'VCT', 'WSM', 'SMR', 'STP', 'SAU', 'SEN', 'SRB', 'SYC', 'SLE', 'SGP', 'SXM', 'SVK', 'SVN', 'SLB', 'SOM', 'ZAF', 'SGS', 'SSD', 'ESP', 'LKA', 'SDN', 'SUR', 'SJM', 'SWZ', 'SWE', 'CHE', 'SYR', 'TWN', 'TJK', 'TZA', 'THA', 'TLS', 'TGO', 'TKL', 'TON', 'TTO', 'TUN', 'TUR', 'TKM', 'TCA', 'TUV', 'UGA', 'UKR', 'ARE', 'GBR', 'USA', 'UMI', 'URY', 'UZB', 'VUT', 'VEN', 'VNM', 'VGB', 'VIR', 'WLF', 'ESH', 'YEM', 'ZMB', 'ZWE'];
5372
+ var validISO31661Alpha3CountriesCodes = new Set(['AFG', 'ALA', 'ALB', 'DZA', 'ASM', 'AND', 'AGO', 'AIA', 'ATA', 'ATG', 'ARG', 'ARM', 'ABW', 'AUS', 'AUT', 'AZE', 'BHS', 'BHR', 'BGD', 'BRB', 'BLR', 'BEL', 'BLZ', 'BEN', 'BMU', 'BTN', 'BOL', 'BES', 'BIH', 'BWA', 'BVT', 'BRA', 'IOT', 'BRN', 'BGR', 'BFA', 'BDI', 'KHM', 'CMR', 'CAN', 'CPV', 'CYM', 'CAF', 'TCD', 'CHL', 'CHN', 'CXR', 'CCK', 'COL', 'COM', 'COG', 'COD', 'COK', 'CRI', 'CIV', 'HRV', 'CUB', 'CUW', 'CYP', 'CZE', 'DNK', 'DJI', 'DMA', 'DOM', 'ECU', 'EGY', 'SLV', 'GNQ', 'ERI', 'EST', 'ETH', 'FLK', 'FRO', 'FJI', 'FIN', 'FRA', 'GUF', 'PYF', 'ATF', 'GAB', 'GMB', 'GEO', 'DEU', 'GHA', 'GIB', 'GRC', 'GRL', 'GRD', 'GLP', 'GUM', 'GTM', 'GGY', 'GIN', 'GNB', 'GUY', 'HTI', 'HMD', 'VAT', 'HND', 'HKG', 'HUN', 'ISL', 'IND', 'IDN', 'IRN', 'IRQ', 'IRL', 'IMN', 'ISR', 'ITA', 'JAM', 'JPN', 'JEY', 'JOR', 'KAZ', 'KEN', 'KIR', 'PRK', 'KOR', 'KWT', 'KGZ', 'LAO', 'LVA', 'LBN', 'LSO', 'LBR', 'LBY', 'LIE', 'LTU', 'LUX', 'MAC', 'MKD', 'MDG', 'MWI', 'MYS', 'MDV', 'MLI', 'MLT', 'MHL', 'MTQ', 'MRT', 'MUS', 'MYT', 'MEX', 'FSM', 'MDA', 'MCO', 'MNG', 'MNE', 'MSR', 'MAR', 'MOZ', 'MMR', 'NAM', 'NRU', 'NPL', 'NLD', 'NCL', 'NZL', 'NIC', 'NER', 'NGA', 'NIU', 'NFK', 'MNP', 'NOR', 'OMN', 'PAK', 'PLW', 'PSE', 'PAN', 'PNG', 'PRY', 'PER', 'PHL', 'PCN', 'POL', 'PRT', 'PRI', 'QAT', 'REU', 'ROU', 'RUS', 'RWA', 'BLM', 'SHN', 'KNA', 'LCA', 'MAF', 'SPM', 'VCT', 'WSM', 'SMR', 'STP', 'SAU', 'SEN', 'SRB', 'SYC', 'SLE', 'SGP', 'SXM', 'SVK', 'SVN', 'SLB', 'SOM', 'ZAF', 'SGS', 'SSD', 'ESP', 'LKA', 'SDN', 'SUR', 'SJM', 'SWZ', 'SWE', 'CHE', 'SYR', 'TWN', 'TJK', 'TZA', 'THA', 'TLS', 'TGO', 'TKL', 'TON', 'TTO', 'TUN', 'TUR', 'TKM', 'TCA', 'TUV', 'UGA', 'UKR', 'ARE', 'GBR', 'USA', 'UMI', 'URY', 'UZB', 'VUT', 'VEN', 'VNM', 'VGB', 'VIR', 'WLF', 'ESH', 'YEM', 'ZMB', 'ZWE']);
5335
5373
 
5336
5374
  function isISO31661Alpha3(str) {
5337
5375
  (0, _assertString.default)(str);
5338
- return (0, _includes.default)(validISO31661Alpha3CountriesCodes, str.toUpperCase());
5376
+ return validISO31661Alpha3CountriesCodes.has(str.toUpperCase());
5339
5377
  }
5340
5378
 
5341
5379
  module.exports = exports.default;
5342
5380
  module.exports.default = exports.default;
5343
- },{"./util/assertString":98,"./util/includes":99}],48:[function(require,module,exports){
5381
+ },{"./util/assertString":99}],48:[function(require,module,exports){
5382
+ "use strict";
5383
+
5384
+ Object.defineProperty(exports, "__esModule", {
5385
+ value: true
5386
+ });
5387
+ exports.default = isISO4217;
5388
+ exports.CurrencyCodes = void 0;
5389
+
5390
+ var _assertString = _interopRequireDefault(require("./util/assertString"));
5391
+
5392
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5393
+
5394
+ // from https://en.wikipedia.org/wiki/ISO_4217
5395
+ var validISO4217CurrencyCodes = new Set(['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BOV', 'BRL', 'BSD', 'BTN', 'BWP', 'BYN', 'BZD', 'CAD', 'CDF', 'CHE', 'CHF', 'CHW', 'CLF', 'CLP', 'CNY', 'COP', 'COU', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRU', 'MUR', 'MVR', 'MWK', 'MXN', 'MXV', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SRD', 'SSP', 'STN', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'USN', 'UYI', 'UYU', 'UYW', 'UZS', 'VES', 'VND', 'VUV', 'WST', 'XAF', 'XAG', 'XAU', 'XBA', 'XBB', 'XBC', 'XBD', 'XCD', 'XDR', 'XOF', 'XPD', 'XPF', 'XPT', 'XSU', 'XTS', 'XUA', 'XXX', 'YER', 'ZAR', 'ZMW', 'ZWL']);
5396
+
5397
+ function isISO4217(str) {
5398
+ (0, _assertString.default)(str);
5399
+ return validISO4217CurrencyCodes.has(str.toUpperCase());
5400
+ }
5401
+
5402
+ var CurrencyCodes = validISO4217CurrencyCodes;
5403
+ exports.CurrencyCodes = CurrencyCodes;
5404
+ },{"./util/assertString":99}],49:[function(require,module,exports){
5344
5405
  "use strict";
5345
5406
 
5346
5407
  Object.defineProperty(exports, "__esModule", {
@@ -5400,7 +5461,7 @@ function isISO8601(str) {
5400
5461
 
5401
5462
  module.exports = exports.default;
5402
5463
  module.exports.default = exports.default;
5403
- },{"./util/assertString":98}],49:[function(require,module,exports){
5464
+ },{"./util/assertString":99}],50:[function(require,module,exports){
5404
5465
  "use strict";
5405
5466
 
5406
5467
  Object.defineProperty(exports, "__esModule", {
@@ -5422,7 +5483,7 @@ function isISRC(str) {
5422
5483
 
5423
5484
  module.exports = exports.default;
5424
5485
  module.exports.default = exports.default;
5425
- },{"./util/assertString":98}],50:[function(require,module,exports){
5486
+ },{"./util/assertString":99}],51:[function(require,module,exports){
5426
5487
  "use strict";
5427
5488
 
5428
5489
  Object.defineProperty(exports, "__esModule", {
@@ -5460,7 +5521,7 @@ function isISSN(str) {
5460
5521
 
5461
5522
  module.exports = exports.default;
5462
5523
  module.exports.default = exports.default;
5463
- },{"./util/assertString":98}],51:[function(require,module,exports){
5524
+ },{"./util/assertString":99}],52:[function(require,module,exports){
5464
5525
  "use strict";
5465
5526
 
5466
5527
  Object.defineProperty(exports, "__esModule", {
@@ -5470,9 +5531,44 @@ exports.default = isIdentityCard;
5470
5531
 
5471
5532
  var _assertString = _interopRequireDefault(require("./util/assertString"));
5472
5533
 
5534
+ var _isInt = _interopRequireDefault(require("./isInt"));
5535
+
5473
5536
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5474
5537
 
5475
5538
  var validators = {
5539
+ PL: function PL(str) {
5540
+ (0, _assertString.default)(str);
5541
+ var weightOfDigits = {
5542
+ 1: 1,
5543
+ 2: 3,
5544
+ 3: 7,
5545
+ 4: 9,
5546
+ 5: 1,
5547
+ 6: 3,
5548
+ 7: 7,
5549
+ 8: 9,
5550
+ 9: 1,
5551
+ 10: 3,
5552
+ 11: 0
5553
+ };
5554
+
5555
+ if (str != null && str.length === 11 && (0, _isInt.default)(str, {
5556
+ allow_leading_zeroes: true
5557
+ })) {
5558
+ var digits = str.split('').slice(0, -1);
5559
+ var sum = digits.reduce(function (acc, digit, index) {
5560
+ return acc + Number(digit) * weightOfDigits[index + 1];
5561
+ }, 0);
5562
+ var modulo = sum % 10;
5563
+ var lastDigit = Number(str.charAt(str.length - 1));
5564
+
5565
+ if (modulo === 0 && lastDigit === 0 || lastDigit === 10 - modulo) {
5566
+ return true;
5567
+ }
5568
+ }
5569
+
5570
+ return false;
5571
+ },
5476
5572
  ES: function ES(str) {
5477
5573
  (0, _assertString.default)(str);
5478
5574
  var DNI = /^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/;
@@ -5495,6 +5591,24 @@ var validators = {
5495
5591
  });
5496
5592
  return sanitized.endsWith(controlDigits[number % 23]);
5497
5593
  },
5594
+ FI: function FI(str) {
5595
+ // https://dvv.fi/en/personal-identity-code#:~:text=control%20character%20for%20a-,personal,-identity%20code%20calculated
5596
+ (0, _assertString.default)(str);
5597
+
5598
+ if (str.length !== 11) {
5599
+ return false;
5600
+ }
5601
+
5602
+ if (!str.match(/^\d{6}[\-A\+]\d{3}[0-9ABCDEFHJKLMNPRSTUVWXY]{1}$/)) {
5603
+ return false;
5604
+ }
5605
+
5606
+ var checkDigits = '0123456789ABCDEFHJKLMNPRSTUVWXY';
5607
+ var idAsNumber = parseInt(str.slice(0, 6), 10) * 1000 + parseInt(str.slice(7, 10), 10);
5608
+ var remainder = idAsNumber % 31;
5609
+ var checkDigit = checkDigits[remainder];
5610
+ return checkDigit === str.slice(10, 11);
5611
+ },
5498
5612
  IN: function IN(str) {
5499
5613
  var DNI = /^[1-9]\d{3}\s?\d{4}\s?\d{4}$/; // multiplication table
5500
5614
 
@@ -5547,6 +5661,23 @@ var validators = {
5547
5661
  if (k1 !== f[9] || k2 !== f[10]) return false;
5548
5662
  return true;
5549
5663
  },
5664
+ TH: function TH(str) {
5665
+ if (!str.match(/^[1-8]\d{12}$/)) return false; // validate check digit
5666
+
5667
+ var sum = 0;
5668
+
5669
+ for (var i = 0; i < 12; i++) {
5670
+ sum += parseInt(str[i], 10) * (13 - i);
5671
+ }
5672
+
5673
+ return str[12] === ((11 - sum % 11) % 10).toString();
5674
+ },
5675
+ LK: function LK(str) {
5676
+ var old_nic = /^[1-9]\d{8}[vx]$/i;
5677
+ var new_nic = /^[1-9]\d{11}$/i;
5678
+ if (str.length === 10 && old_nic.test(str)) return true;else if (str.length === 12 && new_nic.test(str)) return true;
5679
+ return false;
5680
+ },
5550
5681
  'he-IL': function heIL(str) {
5551
5682
  var DNI = /^\d{9}$/; // sanitize user input
5552
5683
 
@@ -5775,7 +5906,7 @@ function isIdentityCard(str, locale) {
5775
5906
 
5776
5907
  module.exports = exports.default;
5777
5908
  module.exports.default = exports.default;
5778
- },{"./util/assertString":98}],52:[function(require,module,exports){
5909
+ },{"./isInt":54,"./util/assertString":99}],53:[function(require,module,exports){
5779
5910
  "use strict";
5780
5911
 
5781
5912
  Object.defineProperty(exports, "__esModule", {
@@ -5818,7 +5949,7 @@ function isIn(str, options) {
5818
5949
 
5819
5950
  module.exports = exports.default;
5820
5951
  module.exports.default = exports.default;
5821
- },{"./util/assertString":98,"./util/toString":102}],53:[function(require,module,exports){
5952
+ },{"./util/assertString":99,"./util/toString":103}],54:[function(require,module,exports){
5822
5953
  "use strict";
5823
5954
 
5824
5955
  Object.defineProperty(exports, "__esModule", {
@@ -5849,7 +5980,7 @@ function isInt(str, options) {
5849
5980
 
5850
5981
  module.exports = exports.default;
5851
5982
  module.exports.default = exports.default;
5852
- },{"./util/assertString":98}],54:[function(require,module,exports){
5983
+ },{"./util/assertString":99}],55:[function(require,module,exports){
5853
5984
  "use strict";
5854
5985
 
5855
5986
  Object.defineProperty(exports, "__esModule", {
@@ -5891,7 +6022,7 @@ function isJSON(str, options) {
5891
6022
 
5892
6023
  module.exports = exports.default;
5893
6024
  module.exports.default = exports.default;
5894
- },{"./util/assertString":98,"./util/merge":100}],55:[function(require,module,exports){
6025
+ },{"./util/assertString":99,"./util/merge":101}],56:[function(require,module,exports){
5895
6026
  "use strict";
5896
6027
 
5897
6028
  Object.defineProperty(exports, "__esModule", {
@@ -5923,7 +6054,7 @@ function isJWT(str) {
5923
6054
 
5924
6055
  module.exports = exports.default;
5925
6056
  module.exports.default = exports.default;
5926
- },{"./isBase64":17,"./util/assertString":98}],56:[function(require,module,exports){
6057
+ },{"./isBase64":17,"./util/assertString":99}],57:[function(require,module,exports){
5927
6058
  "use strict";
5928
6059
 
5929
6060
  Object.defineProperty(exports, "__esModule", {
@@ -5961,7 +6092,7 @@ function isLatLong(str, options) {
5961
6092
 
5962
6093
  module.exports = exports.default;
5963
6094
  module.exports.default = exports.default;
5964
- },{"./util/assertString":98,"./util/merge":100}],57:[function(require,module,exports){
6095
+ },{"./util/assertString":99,"./util/merge":101}],58:[function(require,module,exports){
5965
6096
  "use strict";
5966
6097
 
5967
6098
  Object.defineProperty(exports, "__esModule", {
@@ -5997,7 +6128,7 @@ function isLength(str, options) {
5997
6128
 
5998
6129
  module.exports = exports.default;
5999
6130
  module.exports.default = exports.default;
6000
- },{"./util/assertString":98}],58:[function(require,module,exports){
6131
+ },{"./util/assertString":99}],59:[function(require,module,exports){
6001
6132
  "use strict";
6002
6133
 
6003
6134
  Object.defineProperty(exports, "__esModule", {
@@ -6010,12 +6141,18 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
6010
6141
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6011
6142
 
6012
6143
  var validators = {
6144
+ 'cs-CZ': function csCZ(str) {
6145
+ return /^(([ABCDEFHKIJKLMNPRSTUVXYZ]|[0-9])-?){5,8}$/.test(str);
6146
+ },
6013
6147
  'de-DE': function deDE(str) {
6014
6148
  return /^((AW|UL|AK|GA|AÖ|LF|AZ|AM|AS|ZE|AN|AB|A|KG|KH|BA|EW|BZ|HY|KM|BT|HP|B|BC|BI|BO|FN|TT|ÜB|BN|AH|BS|FR|HB|ZZ|BB|BK|BÖ|OC|OK|CW|CE|C|CO|LH|CB|KW|LC|LN|DA|DI|DE|DH|SY|NÖ|DO|DD|DU|DN|D|EI|EA|EE|FI|EM|EL|EN|PF|ED|EF|ER|AU|ZP|E|ES|NT|EU|FL|FO|FT|FF|F|FS|FD|FÜ|GE|G|GI|GF|GS|ZR|GG|GP|GR|NY|ZI|GÖ|GZ|GT|HA|HH|HM|HU|WL|HZ|WR|RN|HK|HD|HN|HS|GK|HE|HF|RZ|HI|HG|HO|HX|IK|IL|IN|J|JL|KL|KA|KS|KF|KE|KI|KT|KO|KN|KR|KC|KU|K|LD|LL|LA|L|OP|LM|LI|LB|LU|LÖ|HL|LG|MD|GN|MZ|MA|ML|MR|MY|AT|DM|MC|NZ|RM|RG|MM|ME|MB|MI|FG|DL|HC|MW|RL|MK|MG|MÜ|WS|MH|M|MS|NU|NB|ND|NM|NK|NW|NR|NI|NF|DZ|EB|OZ|TG|TO|N|OA|GM|OB|CA|EH|FW|OF|OL|OE|OG|BH|LR|OS|AA|GD|OH|KY|NP|WK|PB|PA|PE|PI|PS|P|PM|PR|RA|RV|RE|R|H|SB|WN|RS|RD|RT|BM|NE|GV|RP|SU|GL|RO|GÜ|RH|EG|RW|PN|SK|MQ|RU|SZ|RI|SL|SM|SC|HR|FZ|VS|SW|SN|CR|SE|SI|SO|LP|SG|NH|SP|IZ|ST|BF|TE|HV|OD|SR|S|AC|DW|ZW|TF|TS|TR|TÜ|UM|PZ|TP|UE|UN|UH|MN|KK|VB|V|AE|PL|RC|VG|GW|PW|VR|VK|KB|WA|WT|BE|WM|WE|AP|MO|WW|FB|WZ|WI|WB|JE|WF|WO|W|WÜ|BL|Z|GC)[- ]?[A-Z]{1,2}[- ]?\d{1,4}|(AIC|FDB|ABG|SLN|SAW|KLZ|BUL|ESB|NAB|SUL|WST|ABI|AZE|BTF|KÖT|DKB|FEU|ROT|ALZ|SMÜ|WER|AUR|NOR|DÜW|BRK|HAB|TÖL|WOR|BAD|BAR|BER|BIW|EBS|KEM|MÜB|PEG|BGL|BGD|REI|WIL|BKS|BIR|WAT|BOR|BOH|BOT|BRB|BLK|HHM|NEB|NMB|WSF|LEO|HDL|WMS|WZL|BÜS|CHA|KÖZ|ROD|WÜM|CLP|NEC|COC|ZEL|COE|CUX|DAH|LDS|DEG|DEL|RSL|DLG|DGF|LAN|HEI|MED|DON|KIB|ROK|JÜL|MON|SLE|EBE|EIC|HIG|WBS|BIT|PRÜ|LIB|EMD|WIT|ERH|HÖS|ERZ|ANA|ASZ|MAB|MEK|STL|SZB|FDS|HCH|HOR|WOL|FRG|GRA|WOS|FRI|FFB|GAP|GER|BRL|CLZ|GTH|NOH|HGW|GRZ|LÖB|NOL|WSW|DUD|HMÜ|OHA|KRU|HAL|HAM|HBS|QLB|HVL|NAU|HAS|EBN|GEO|HOH|HDH|ERK|HER|WAN|HEF|ROF|HBN|ALF|HSK|USI|NAI|REH|SAN|KÜN|ÖHR|HOL|WAR|ARN|BRG|GNT|HOG|WOH|KEH|MAI|PAR|RID|ROL|KLE|GEL|KUS|KYF|ART|SDH|LDK|DIL|MAL|VIB|LER|BNA|GHA|GRM|MTL|WUR|LEV|LIF|STE|WEL|LIP|VAI|LUP|HGN|LBZ|LWL|PCH|STB|DAN|MKK|SLÜ|MSP|TBB|MGH|MTK|BIN|MSH|EIL|HET|SGH|BID|MYK|MSE|MST|MÜR|WRN|MEI|GRH|RIE|MZG|MIL|OBB|BED|FLÖ|MOL|FRW|SEE|SRB|AIB|MOS|BCH|ILL|SOB|NMS|NEA|SEF|UFF|NEW|VOH|NDH|TDO|NWM|GDB|GVM|WIS|NOM|EIN|GAN|LAU|HEB|OHV|OSL|SFB|ERB|LOS|BSK|KEL|BSB|MEL|WTL|OAL|FÜS|MOD|OHZ|OPR|BÜR|PAF|PLÖ|CAS|GLA|REG|VIT|ECK|SIM|GOA|EMS|DIZ|GOH|RÜD|SWA|NES|KÖN|MET|LRO|BÜZ|DBR|ROS|TET|HRO|ROW|BRV|HIP|PAN|GRI|SHK|EIS|SRO|SOK|LBS|SCZ|MER|QFT|SLF|SLS|HOM|SLK|ASL|BBG|SBK|SFT|SHG|MGN|MEG|ZIG|SAD|NEN|OVI|SHA|BLB|SIG|SON|SPN|FOR|GUB|SPB|IGB|WND|STD|STA|SDL|OBG|HST|BOG|SHL|PIR|FTL|SEB|SÖM|SÜW|TIR|SAB|TUT|ANG|SDT|LÜN|LSZ|MHL|VEC|VER|VIE|OVL|ANK|OVP|SBG|UEM|UER|WLG|GMN|NVP|RDG|RÜG|DAU|FKB|WAF|WAK|SLZ|WEN|SOG|APD|WUG|GUN|ESW|WIZ|WES|DIN|BRA|BÜD|WHV|HWI|GHC|WTM|WOB|WUN|MAK|SEL|OCH|HOT|WDA)[- ]?(([A-Z][- ]?\d{1,4})|([A-Z]{2}[- ]?\d{1,3})))[- ]?(E|H)?$/.test(str);
6015
6149
  },
6016
6150
  'de-LI': function deLI(str) {
6017
6151
  return /^FL[- ]?\d{1,5}[UZ]?$/.test(str);
6018
6152
  },
6153
+ 'fi-FI': function fiFI(str) {
6154
+ return /^(?=.{4,7})(([A-Z]{1,3}|[0-9]{1,3})[\s-]?([A-Z]{1,3}|[0-9]{1,5}))$/.test(str);
6155
+ },
6019
6156
  'pt-PT': function ptPT(str) {
6020
6157
  return /^([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})$/.test(str);
6021
6158
  },
@@ -6050,7 +6187,7 @@ function isLicensePlate(str, locale) {
6050
6187
 
6051
6188
  module.exports = exports.default;
6052
6189
  module.exports.default = exports.default;
6053
- },{"./util/assertString":98}],59:[function(require,module,exports){
6190
+ },{"./util/assertString":99}],60:[function(require,module,exports){
6054
6191
  "use strict";
6055
6192
 
6056
6193
  Object.defineProperty(exports, "__esModule", {
@@ -6076,7 +6213,7 @@ function isLocale(str) {
6076
6213
 
6077
6214
  module.exports = exports.default;
6078
6215
  module.exports.default = exports.default;
6079
- },{"./util/assertString":98}],60:[function(require,module,exports){
6216
+ },{"./util/assertString":99}],61:[function(require,module,exports){
6080
6217
  "use strict";
6081
6218
 
6082
6219
  Object.defineProperty(exports, "__esModule", {
@@ -6095,7 +6232,7 @@ function isLowercase(str) {
6095
6232
 
6096
6233
  module.exports = exports.default;
6097
6234
  module.exports.default = exports.default;
6098
- },{"./util/assertString":98}],61:[function(require,module,exports){
6235
+ },{"./util/assertString":99}],62:[function(require,module,exports){
6099
6236
  "use strict";
6100
6237
 
6101
6238
  Object.defineProperty(exports, "__esModule", {
@@ -6126,7 +6263,7 @@ function isMACAddress(str, options) {
6126
6263
 
6127
6264
  module.exports = exports.default;
6128
6265
  module.exports.default = exports.default;
6129
- },{"./util/assertString":98}],62:[function(require,module,exports){
6266
+ },{"./util/assertString":99}],63:[function(require,module,exports){
6130
6267
  "use strict";
6131
6268
 
6132
6269
  Object.defineProperty(exports, "__esModule", {
@@ -6147,7 +6284,7 @@ function isMD5(str) {
6147
6284
 
6148
6285
  module.exports = exports.default;
6149
6286
  module.exports.default = exports.default;
6150
- },{"./util/assertString":98}],63:[function(require,module,exports){
6287
+ },{"./util/assertString":99}],64:[function(require,module,exports){
6151
6288
  "use strict";
6152
6289
 
6153
6290
  Object.defineProperty(exports, "__esModule", {
@@ -6159,7 +6296,7 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
6159
6296
 
6160
6297
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6161
6298
 
6162
- var magnetURI = /^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}&dn=.+&tr=.+$/i;
6299
+ var magnetURI = /^magnet:\?xt(?:\.1)?=urn:(?:aich|bitprint|btih|ed2k|ed2khash|kzhash|md5|sha1|tree:tiger):[a-z0-9]{32}(?:[a-z0-9]{8})?($|&)/i;
6163
6300
 
6164
6301
  function isMagnetURI(url) {
6165
6302
  (0, _assertString.default)(url);
@@ -6168,7 +6305,7 @@ function isMagnetURI(url) {
6168
6305
 
6169
6306
  module.exports = exports.default;
6170
6307
  module.exports.default = exports.default;
6171
- },{"./util/assertString":98}],64:[function(require,module,exports){
6308
+ },{"./util/assertString":99}],65:[function(require,module,exports){
6172
6309
  "use strict";
6173
6310
 
6174
6311
  Object.defineProperty(exports, "__esModule", {
@@ -6220,7 +6357,7 @@ function isMimeType(str) {
6220
6357
 
6221
6358
  module.exports = exports.default;
6222
6359
  module.exports.default = exports.default;
6223
- },{"./util/assertString":98}],65:[function(require,module,exports){
6360
+ },{"./util/assertString":99}],66:[function(require,module,exports){
6224
6361
  "use strict";
6225
6362
 
6226
6363
  Object.defineProperty(exports, "__esModule", {
@@ -6247,6 +6384,7 @@ var phones = {
6247
6384
  'ar-LY': /^((\+?218)|0)?(9[1-6]\d{7}|[1-8]\d{7,9})$/,
6248
6385
  'ar-MA': /^(?:(?:\+|00)212|0)[5-7]\d{8}$/,
6249
6386
  'ar-OM': /^((\+|00)968)?(9[1-9])\d{6}$/,
6387
+ 'ar-PS': /^(\+?970|0)5[6|9](\d{7})$/,
6250
6388
  'ar-SA': /^(!?(\+?966)|0)?5\d{8}$/,
6251
6389
  'ar-SY': /^(!?(\+?963)|0)?9\d{8}$/,
6252
6390
  'ar-TN': /^(\+?216)?[2459]\d{7}$/,
@@ -6258,25 +6396,30 @@ var phones = {
6258
6396
  'ca-AD': /^(\+376)?[346]\d{5}$/,
6259
6397
  'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
6260
6398
  'da-DK': /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,
6261
- 'de-DE': /^(\+49)?0?[1|3]([0|5][0-45-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7}$/,
6399
+ 'de-DE': /^((\+49|0)[1|3])([0|5][0-45-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7,9}$/,
6262
6400
  'de-AT': /^(\+43|0)\d{1,4}\d{3,12}$/,
6263
6401
  'de-CH': /^(\+41|0)([1-9])\d{1,9}$/,
6264
6402
  'de-LU': /^(\+352)?((6\d1)\d{6})$/,
6403
+ 'dv-MV': /^(\+?960)?(7[2-9]|91|9[3-9])\d{7}$/,
6265
6404
  'el-GR': /^(\+?30|0)?(69\d{8})$/,
6266
6405
  'en-AU': /^(\+?61|0)4\d{8}$/,
6406
+ 'en-BM': /^(\+?1)?441(((3|7)\d{6}$)|(5[0-3][0-9]\d{4}$)|(59\d{5}))/,
6267
6407
  'en-GB': /^(\+?44|0)7\d{9}$/,
6268
6408
  'en-GG': /^(\+?44|0)1481\d{6}$/,
6269
6409
  'en-GH': /^(\+233|0)(20|50|24|54|27|57|26|56|23|28|55|59)\d{7}$/,
6410
+ 'en-GY': /^(\+592|0)6\d{6}$/,
6270
6411
  'en-HK': /^(\+?852[-\s]?)?[456789]\d{3}[-\s]?\d{4}$/,
6271
6412
  'en-MO': /^(\+?853[-\s]?)?[6]\d{3}[-\s]?\d{4}$/,
6272
6413
  'en-IE': /^(\+?353|0)8[356789]\d{7}$/,
6273
6414
  'en-IN': /^(\+?91|0)?[6789]\d{9}$/,
6274
6415
  'en-KE': /^(\+?254|0)(7|1)\d{8}$/,
6416
+ 'en-KI': /^((\+686|686)?)?( )?((6|7)(2|3|8)[0-9]{6})$/,
6275
6417
  'en-MT': /^(\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,
6276
6418
  'en-MU': /^(\+?230|0)?\d{8}$/,
6419
+ 'en-NA': /^(\+?264|0)(6|8)\d{7}$/,
6277
6420
  'en-NG': /^(\+?234|0)?[789]\d{9}$/,
6278
6421
  'en-NZ': /^(\+?64|0)[28]\d{7,9}$/,
6279
- 'en-PK': /^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,
6422
+ 'en-PK': /^((00|\+)?92|0)3[0-6]\d{8}$/,
6280
6423
  'en-PH': /^(09|\+639)\d{9}$/,
6281
6424
  'en-RW': /^(\+?250|0)?[7]\d{8}$/,
6282
6425
  'en-SG': /^(\+65)?[3689]\d{7}$/,
@@ -6287,11 +6430,13 @@ var phones = {
6287
6430
  'en-ZA': /^(\+?27|0)\d{9}$/,
6288
6431
  'en-ZM': /^(\+?26)?09[567]\d{7}$/,
6289
6432
  'en-ZW': /^(\+263)[0-9]{9}$/,
6433
+ 'en-BW': /^(\+?267)?(7[1-8]{1})\d{6}$/,
6290
6434
  'es-AR': /^\+?549(11|[2368]\d)\d{8}$/,
6291
6435
  'es-BO': /^(\+?591)?(6|7)\d{7}$/,
6292
6436
  'es-CO': /^(\+?57)?3(0(0|1|2|4|5)|1\d|2[0-4]|5(0|1))\d{7}$/,
6293
6437
  'es-CL': /^(\+?56|0)[2-9]\d{1}\d{7}$/,
6294
6438
  'es-CR': /^(\+506)?[2-8]\d{7}$/,
6439
+ 'es-CU': /^(\+53|0053)?5\d{7}/,
6295
6440
  'es-DO': /^(\+?1)?8[024]9\d{7}$/,
6296
6441
  'es-HN': /^(\+?504)?[9|8]\d{7}$/,
6297
6442
  'es-EC': /^(\+?593|0)([2-7]|9[2-9])\d{7}$/,
@@ -6300,19 +6445,24 @@ var phones = {
6300
6445
  'es-MX': /^(\+?52)?(1|01)?\d{10,11}$/,
6301
6446
  'es-PA': /^(\+?507)\d{7,8}$/,
6302
6447
  'es-PY': /^(\+?595|0)9[9876]\d{7}$/,
6448
+ 'es-SV': /^(\+?503)?[67]\d{7}$/,
6303
6449
  'es-UY': /^(\+598|0)9[1-9][\d]{6}$/,
6450
+ 'es-VE': /^(\+?58)?(2|4)\d{9}$/,
6304
6451
  'et-EE': /^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,
6305
6452
  'fa-IR': /^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,
6306
6453
  'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
6307
6454
  'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
6308
6455
  'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
6456
+ 'fr-BF': /^(\+226|0)[67]\d{7}$/,
6457
+ 'fr-CM': /^(\+?237)6[0-9]{8}$/,
6309
6458
  'fr-FR': /^(\+?33|0)[67]\d{8}$/,
6310
6459
  'fr-GF': /^(\+?594|0|00594)[67]\d{8}$/,
6311
6460
  'fr-GP': /^(\+?590|0|00590)[67]\d{8}$/,
6312
6461
  'fr-MQ': /^(\+?596|0|00596)[67]\d{8}$/,
6462
+ 'fr-PF': /^(\+?689)?8[789]\d{6}$/,
6313
6463
  'fr-RE': /^(\+?262|0|00262)[67]\d{8}$/,
6314
6464
  'he-IL': /^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,
6315
- 'hu-HU': /^(\+?36)(20|30|70)\d{7}$/,
6465
+ 'hu-HU': /^(\+?36|06)(20|30|31|50|70)\d{7}$/,
6316
6466
  'id-ID': /^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,
6317
6467
  'it-IT': /^(\+?39)?\s?3\d{2} ?\d{6,7}$/,
6318
6468
  'it-SM': /^((\+378)|(0549)|(\+390549)|(\+3780549))?6\d{5,9}$/,
@@ -6327,7 +6477,7 @@ var phones = {
6327
6477
  'mz-MZ': /^(\+?258)?8[234567]\d{7}$/,
6328
6478
  'nb-NO': /^(\+?47)?[49]\d{7}$/,
6329
6479
  'ne-NP': /^(\+?977)?9[78]\d{8}$/,
6330
- 'nl-BE': /^(\+?32|0)4?\d{8}$/,
6480
+ 'nl-BE': /^(\+?32|0)4\d{8}$/,
6331
6481
  'nl-NL': /^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,
6332
6482
  'nn-NO': /^(\+?47)?[49]\d{7}$/,
6333
6483
  'pl-PL': /^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,
@@ -6336,19 +6486,22 @@ var phones = {
6336
6486
  'pt-AO': /^(\+244)\d{9}$/,
6337
6487
  'ro-RO': /^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,
6338
6488
  'ru-RU': /^(\+?7|8)?9\d{9}$/,
6339
- 'si-LK': /^(?:0|94|\+94)?(7(0|1|2|5|6|7|8)( |-)?\d)\d{6}$/,
6489
+ 'si-LK': /^(?:0|94|\+94)?(7(0|1|2|4|5|6|7|8)( |-)?)\d{7}$/,
6340
6490
  'sl-SI': /^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,
6341
6491
  'sk-SK': /^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
6342
6492
  'sq-AL': /^(\+355|0)6[789]\d{6}$/,
6343
6493
  'sr-RS': /^(\+3816|06)[- \d]{5,9}$/,
6344
6494
  'sv-SE': /^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,
6495
+ 'tg-TJ': /^(\+?992)?[5][5]\d{7}$/,
6345
6496
  'th-TH': /^(\+66|66|0)\d{9}$/,
6346
6497
  'tr-TR': /^(\+?90|0)?5\d{9}$/,
6498
+ 'tk-TM': /^(\+993|993|8)\d{8}$/,
6347
6499
  'uk-UA': /^(\+?38|8)?0\d{9}$/,
6348
6500
  'uz-UZ': /^(\+?998)?(6[125-79]|7[1-69]|88|9\d)\d{7}$/,
6349
- 'vi-VN': /^(\+?84|0)((3([2-9]))|(5([2689]))|(7([0|6-9]))|(8([1-9]))|(9([0-9])))([0-9]{7})$/,
6350
- 'zh-CN': /^((\+|00)86)?1([3456789][0-9]|4[579]|6[67]|7[01235678]|9[012356789])[0-9]{8}$/,
6351
- 'zh-TW': /^(\+?886\-?|0)?9\d{8}$/
6501
+ 'vi-VN': /^((\+?84)|0)((3([2-9]))|(5([25689]))|(7([0|6-9]))|(8([1-9]))|(9([0-9])))([0-9]{7})$/,
6502
+ 'zh-CN': /^((\+|00)86)?(1[3-9]|9[28])\d{9}$/,
6503
+ 'zh-TW': /^(\+?886\-?|0)?9\d{8}$/,
6504
+ 'dz-BT': /^(\+?975|0)?(17|16|77|02)\d{6}$/
6352
6505
  };
6353
6506
  /* eslint-enable max-len */
6354
6507
  // aliases
@@ -6405,7 +6558,7 @@ function isMobilePhone(str, locale, options) {
6405
6558
 
6406
6559
  var locales = Object.keys(phones);
6407
6560
  exports.locales = locales;
6408
- },{"./util/assertString":98}],66:[function(require,module,exports){
6561
+ },{"./util/assertString":99}],67:[function(require,module,exports){
6409
6562
  "use strict";
6410
6563
 
6411
6564
  Object.defineProperty(exports, "__esModule", {
@@ -6426,7 +6579,7 @@ function isMongoId(str) {
6426
6579
 
6427
6580
  module.exports = exports.default;
6428
6581
  module.exports.default = exports.default;
6429
- },{"./isHexadecimal":39,"./util/assertString":98}],67:[function(require,module,exports){
6582
+ },{"./isHexadecimal":39,"./util/assertString":99}],68:[function(require,module,exports){
6430
6583
  "use strict";
6431
6584
 
6432
6585
  Object.defineProperty(exports, "__esModule", {
@@ -6449,7 +6602,7 @@ function isMultibyte(str) {
6449
6602
 
6450
6603
  module.exports = exports.default;
6451
6604
  module.exports.default = exports.default;
6452
- },{"./util/assertString":98}],68:[function(require,module,exports){
6605
+ },{"./util/assertString":99}],69:[function(require,module,exports){
6453
6606
  "use strict";
6454
6607
 
6455
6608
  Object.defineProperty(exports, "__esModule", {
@@ -6477,7 +6630,7 @@ function isNumeric(str, options) {
6477
6630
 
6478
6631
  module.exports = exports.default;
6479
6632
  module.exports.default = exports.default;
6480
- },{"./alpha":5,"./util/assertString":98}],69:[function(require,module,exports){
6633
+ },{"./alpha":5,"./util/assertString":99}],70:[function(require,module,exports){
6481
6634
  "use strict";
6482
6635
 
6483
6636
  Object.defineProperty(exports, "__esModule", {
@@ -6498,7 +6651,7 @@ function isOctal(str) {
6498
6651
 
6499
6652
  module.exports = exports.default;
6500
6653
  module.exports.default = exports.default;
6501
- },{"./util/assertString":98}],70:[function(require,module,exports){
6654
+ },{"./util/assertString":99}],71:[function(require,module,exports){
6502
6655
  "use strict";
6503
6656
 
6504
6657
  Object.defineProperty(exports, "__esModule", {
@@ -6537,8 +6690,8 @@ var passportRegexByCountryCode = {
6537
6690
  // CANADA
6538
6691
  CH: /^[A-Z]\d{7}$/,
6539
6692
  // SWITZERLAND
6540
- CN: /^[GE]\d{8}$/,
6541
- // CHINA [G=Ordinary, E=Electronic] followed by 8-digits
6693
+ CN: /^G\d{8}$|^E(?![IO])[A-Z0-9]\d{7}$/,
6694
+ // CHINA [G=Ordinary, E=Electronic] followed by 8-digits, or E followed by any UPPERCASE letter (except I and O) followed by 7 digits
6542
6695
  CY: /^[A-Z](\d{6}|\d{8})$/,
6543
6696
  // CYPRUS
6544
6697
  CZ: /^\d{8}$/,
@@ -6569,6 +6722,8 @@ var passportRegexByCountryCode = {
6569
6722
  // IRELAND
6570
6723
  IN: /^[A-Z]{1}-?\d{7}$/,
6571
6724
  // INDIA
6725
+ ID: /^[A-C]\d{7}$/,
6726
+ // INDONESIA
6572
6727
  IR: /^[A-Z]\d{8}$/,
6573
6728
  // IRAN
6574
6729
  IS: /^(A)\d{7}$/,
@@ -6595,13 +6750,13 @@ var passportRegexByCountryCode = {
6595
6750
  // MALAYSIA
6596
6751
  NL: /^[A-Z]{2}[A-Z0-9]{6}\d$/,
6597
6752
  // NETHERLANDS
6598
- PO: /^[A-Z]{2}\d{7}$/,
6753
+ PL: /^[A-Z]{2}\d{7}$/,
6599
6754
  // POLAND
6600
6755
  PT: /^[A-Z]\d{6}$/,
6601
6756
  // PORTUGAL
6602
6757
  RO: /^\d{8,9}$/,
6603
6758
  // ROMANIA
6604
- RU: /^\d{2}\d{2}\d{6}$/,
6759
+ RU: /^\d{9}$/,
6605
6760
  // RUSSIAN FEDERATION
6606
6761
  SE: /^\d{8}$/,
6607
6762
  // SWEDEN
@@ -6635,7 +6790,7 @@ function isPassportNumber(str, countryCode) {
6635
6790
 
6636
6791
  module.exports = exports.default;
6637
6792
  module.exports.default = exports.default;
6638
- },{"./util/assertString":98}],71:[function(require,module,exports){
6793
+ },{"./util/assertString":99}],72:[function(require,module,exports){
6639
6794
  "use strict";
6640
6795
 
6641
6796
  Object.defineProperty(exports, "__esModule", {
@@ -6656,7 +6811,7 @@ function isPort(str) {
6656
6811
 
6657
6812
  module.exports = exports.default;
6658
6813
  module.exports.default = exports.default;
6659
- },{"./isInt":53}],72:[function(require,module,exports){
6814
+ },{"./isInt":54}],73:[function(require,module,exports){
6660
6815
  "use strict";
6661
6816
 
6662
6817
  Object.defineProperty(exports, "__esModule", {
@@ -6714,6 +6869,7 @@ var patterns = {
6714
6869
  LT: /^LT\-\d{5}$/,
6715
6870
  LU: fourDigit,
6716
6871
  LV: /^LV\-\d{4}$/,
6872
+ LK: fiveDigit,
6717
6873
  MX: fiveDigit,
6718
6874
  MT: /^[A-Za-z]{3}\s{0,1}\d{4}$/,
6719
6875
  MY: fiveDigit,
@@ -6765,7 +6921,7 @@ function isPostalCode(str, locale) {
6765
6921
 
6766
6922
  throw new Error("Invalid locale '".concat(locale, "'"));
6767
6923
  }
6768
- },{"./util/assertString":98}],73:[function(require,module,exports){
6924
+ },{"./util/assertString":99}],74:[function(require,module,exports){
6769
6925
  "use strict";
6770
6926
 
6771
6927
  Object.defineProperty(exports, "__esModule", {
@@ -6790,7 +6946,7 @@ var timeOffset = new RegExp("([zZ]|".concat(timeNumOffset.source, ")"));
6790
6946
  var partialTime = new RegExp("".concat(timeHour.source, ":").concat(timeMinute.source, ":").concat(timeSecond.source).concat(timeSecFrac.source));
6791
6947
  var fullDate = new RegExp("".concat(dateFullYear.source, "-").concat(dateMonth.source, "-").concat(dateMDay.source));
6792
6948
  var fullTime = new RegExp("".concat(partialTime.source).concat(timeOffset.source));
6793
- var rfc3339 = new RegExp("".concat(fullDate.source, "[ tT]").concat(fullTime.source));
6949
+ var rfc3339 = new RegExp("^".concat(fullDate.source, "[ tT]").concat(fullTime.source, "$"));
6794
6950
 
6795
6951
  function isRFC3339(str) {
6796
6952
  (0, _assertString.default)(str);
@@ -6799,7 +6955,7 @@ function isRFC3339(str) {
6799
6955
 
6800
6956
  module.exports = exports.default;
6801
6957
  module.exports.default = exports.default;
6802
- },{"./util/assertString":98}],74:[function(require,module,exports){
6958
+ },{"./util/assertString":99}],75:[function(require,module,exports){
6803
6959
  "use strict";
6804
6960
 
6805
6961
  Object.defineProperty(exports, "__esModule", {
@@ -6829,7 +6985,7 @@ function isRgbColor(str) {
6829
6985
 
6830
6986
  module.exports = exports.default;
6831
6987
  module.exports.default = exports.default;
6832
- },{"./util/assertString":98}],75:[function(require,module,exports){
6988
+ },{"./util/assertString":99}],76:[function(require,module,exports){
6833
6989
  "use strict";
6834
6990
 
6835
6991
  Object.defineProperty(exports, "__esModule", {
@@ -6858,7 +7014,7 @@ function isSemVer(str) {
6858
7014
 
6859
7015
  module.exports = exports.default;
6860
7016
  module.exports.default = exports.default;
6861
- },{"./util/assertString":98,"./util/multilineRegex":101}],76:[function(require,module,exports){
7017
+ },{"./util/assertString":99,"./util/multilineRegex":102}],77:[function(require,module,exports){
6862
7018
  "use strict";
6863
7019
 
6864
7020
  Object.defineProperty(exports, "__esModule", {
@@ -6879,7 +7035,7 @@ function isSlug(str) {
6879
7035
 
6880
7036
  module.exports = exports.default;
6881
7037
  module.exports.default = exports.default;
6882
- },{"./util/assertString":98}],77:[function(require,module,exports){
7038
+ },{"./util/assertString":99}],78:[function(require,module,exports){
6883
7039
  "use strict";
6884
7040
 
6885
7041
  Object.defineProperty(exports, "__esModule", {
@@ -6995,7 +7151,7 @@ function isStrongPassword(str) {
6995
7151
 
6996
7152
  module.exports = exports.default;
6997
7153
  module.exports.default = exports.default;
6998
- },{"./util/assertString":98,"./util/merge":100}],78:[function(require,module,exports){
7154
+ },{"./util/assertString":99,"./util/merge":101}],79:[function(require,module,exports){
6999
7155
  "use strict";
7000
7156
 
7001
7157
  Object.defineProperty(exports, "__esModule", {
@@ -7016,7 +7172,7 @@ function isSurrogatePair(str) {
7016
7172
 
7017
7173
  module.exports = exports.default;
7018
7174
  module.exports.default = exports.default;
7019
- },{"./util/assertString":98}],79:[function(require,module,exports){
7175
+ },{"./util/assertString":99}],80:[function(require,module,exports){
7020
7176
  "use strict";
7021
7177
 
7022
7178
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
@@ -8122,15 +8278,11 @@ function plPlCheck(tin) {
8122
8278
 
8123
8279
 
8124
8280
  function ptBrCheck(tin) {
8125
- tin = tin.replace(/[^\d]+/g, '');
8126
- if (tin === '') return false;
8127
-
8128
8281
  if (tin.length === 11) {
8129
8282
  var _sum;
8130
8283
 
8131
- var ramainder;
8284
+ var remainder;
8132
8285
  _sum = 0;
8133
- tin = tin.replace(/[^\d]+/g, '');
8134
8286
  if ( // Reject known invalid CPFs
8135
8287
  tin === '11111111111' || tin === '22222222222' || tin === '33333333333' || tin === '44444444444' || tin === '55555555555' || tin === '66666666666' || tin === '77777777777' || tin === '88888888888' || tin === '99999999999' || tin === '00000000000') return false;
8136
8288
 
@@ -8138,25 +8290,21 @@ function ptBrCheck(tin) {
8138
8290
  _sum += parseInt(tin.substring(i - 1, i), 10) * (11 - i);
8139
8291
  }
8140
8292
 
8141
- ramainder = _sum * 10 % 11;
8142
- if (ramainder === 10 || ramainder === 11) ramainder = 0;
8143
- if (ramainder !== parseInt(tin.substring(9, 10), 10)) return false;
8293
+ remainder = _sum * 10 % 11;
8294
+ if (remainder === 10) remainder = 0;
8295
+ if (remainder !== parseInt(tin.substring(9, 10), 10)) return false;
8144
8296
  _sum = 0;
8145
8297
 
8146
8298
  for (var _i8 = 1; _i8 <= 10; _i8++) {
8147
8299
  _sum += parseInt(tin.substring(_i8 - 1, _i8), 10) * (12 - _i8);
8148
8300
  }
8149
8301
 
8150
- ramainder = _sum * 10 % 11;
8151
- if (ramainder === 10 || ramainder === 11) ramainder = 0;
8152
- if (ramainder !== parseInt(tin.substring(10, 11), 10)) return false;
8302
+ remainder = _sum * 10 % 11;
8303
+ if (remainder === 10) remainder = 0;
8304
+ if (remainder !== parseInt(tin.substring(10, 11), 10)) return false;
8153
8305
  return true;
8154
8306
  }
8155
8307
 
8156
- if (tin.length !== 14) {
8157
- return false;
8158
- }
8159
-
8160
8308
  if ( // Reject know invalid CNPJs
8161
8309
  tin === '00000000000000' || tin === '11111111111111' || tin === '22222222222222' || tin === '33333333333333' || tin === '44444444444444' || tin === '55555555555555' || tin === '66666666666666' || tin === '77777777777777' || tin === '88888888888888' || tin === '99999999999999') {
8162
8310
  return false;
@@ -8463,7 +8611,7 @@ var taxIdFormat = {
8463
8611
  'mt-MT': /^\d{3,7}[APMGLHBZ]$|^([1-8])\1\d{7}$/i,
8464
8612
  'nl-NL': /^\d{9}$/,
8465
8613
  'pl-PL': /^\d{10,11}$/,
8466
- 'pt-BR': /^\d{11,14}$/,
8614
+ 'pt-BR': /(?:^\d{11}$)|(?:^\d{14}$)/,
8467
8615
  'pt-PT': /^\d{9}$/,
8468
8616
  'ro-RO': /^\d{13}$/,
8469
8617
  'sk-SK': /^\d{6}\/{0,1}\d{3,4}$/,
@@ -8553,7 +8701,7 @@ function isTaxID(str) {
8553
8701
 
8554
8702
  module.exports = exports.default;
8555
8703
  module.exports.default = exports.default;
8556
- },{"./isDate":25,"./util/algorithms":97,"./util/assertString":98}],80:[function(require,module,exports){
8704
+ },{"./isDate":25,"./util/algorithms":98,"./util/assertString":99}],81:[function(require,module,exports){
8557
8705
  "use strict";
8558
8706
 
8559
8707
  Object.defineProperty(exports, "__esModule", {
@@ -8571,6 +8719,18 @@ var _merge = _interopRequireDefault(require("./util/merge"));
8571
8719
 
8572
8720
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8573
8721
 
8722
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8723
+
8724
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8725
+
8726
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8727
+
8728
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8729
+
8730
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
8731
+
8732
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8733
+
8574
8734
  /*
8575
8735
  options for isURL method
8576
8736
 
@@ -8593,6 +8753,8 @@ var default_url_options = {
8593
8753
  allow_underscores: false,
8594
8754
  allow_trailing_dot: false,
8595
8755
  allow_protocol_relative_urls: false,
8756
+ allow_fragments: true,
8757
+ allow_query_components: true,
8596
8758
  validate_length: true
8597
8759
  };
8598
8760
  var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
@@ -8630,6 +8792,14 @@ function isURL(url, options) {
8630
8792
  return false;
8631
8793
  }
8632
8794
 
8795
+ if (!options.allow_fragments && url.includes('#')) {
8796
+ return false;
8797
+ }
8798
+
8799
+ if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
8800
+ return false;
8801
+ }
8802
+
8633
8803
  var protocol, auth, host, hostname, port, port_str, split, ipv6;
8634
8804
  split = url.split('#');
8635
8805
  url = split.shift();
@@ -8673,7 +8843,7 @@ function isURL(url, options) {
8673
8843
  return false;
8674
8844
  }
8675
8845
 
8676
- if (split[0] === '' || split[0].substr(0, 1) === ':') {
8846
+ if (split[0] === '') {
8677
8847
  return false;
8678
8848
  }
8679
8849
 
@@ -8682,6 +8852,15 @@ function isURL(url, options) {
8682
8852
  if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
8683
8853
  return false;
8684
8854
  }
8855
+
8856
+ var _auth$split = auth.split(':'),
8857
+ _auth$split2 = _slicedToArray(_auth$split, 2),
8858
+ user = _auth$split2[0],
8859
+ password = _auth$split2[1];
8860
+
8861
+ if (user === '' && password === '') {
8862
+ return false;
8863
+ }
8685
8864
  }
8686
8865
 
8687
8866
  hostname = split.join('@');
@@ -8702,7 +8881,7 @@ function isURL(url, options) {
8702
8881
  }
8703
8882
  }
8704
8883
 
8705
- if (port_str !== null) {
8884
+ if (port_str !== null && port_str.length > 0) {
8706
8885
  port = parseInt(port_str, 10);
8707
8886
 
8708
8887
  if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
@@ -8712,16 +8891,16 @@ function isURL(url, options) {
8712
8891
  return false;
8713
8892
  }
8714
8893
 
8894
+ if (options.host_whitelist) {
8895
+ return checkHost(host, options.host_whitelist);
8896
+ }
8897
+
8715
8898
  if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
8716
8899
  return false;
8717
8900
  }
8718
8901
 
8719
8902
  host = host || ipv6;
8720
8903
 
8721
- if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {
8722
- return false;
8723
- }
8724
-
8725
8904
  if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
8726
8905
  return false;
8727
8906
  }
@@ -8731,7 +8910,7 @@ function isURL(url, options) {
8731
8910
 
8732
8911
  module.exports = exports.default;
8733
8912
  module.exports.default = exports.default;
8734
- },{"./isFQDN":32,"./isIP":42,"./util/assertString":98,"./util/merge":100}],81:[function(require,module,exports){
8913
+ },{"./isFQDN":32,"./isIP":42,"./util/assertString":99,"./util/merge":101}],82:[function(require,module,exports){
8735
8914
  "use strict";
8736
8915
 
8737
8916
  Object.defineProperty(exports, "__esModule", {
@@ -8744,22 +8923,23 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
8744
8923
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8745
8924
 
8746
8925
  var uuid = {
8926
+ 1: /^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
8927
+ 2: /^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
8747
8928
  3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
8748
8929
  4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
8749
8930
  5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
8750
8931
  all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i
8751
8932
  };
8752
8933
 
8753
- function isUUID(str) {
8754
- var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'all';
8934
+ function isUUID(str, version) {
8755
8935
  (0, _assertString.default)(str);
8756
- var pattern = uuid[version];
8757
- return pattern && pattern.test(str);
8936
+ var pattern = uuid[![undefined, null].includes(version) ? version : 'all'];
8937
+ return !!pattern && pattern.test(str);
8758
8938
  }
8759
8939
 
8760
8940
  module.exports = exports.default;
8761
8941
  module.exports.default = exports.default;
8762
- },{"./util/assertString":98}],82:[function(require,module,exports){
8942
+ },{"./util/assertString":99}],83:[function(require,module,exports){
8763
8943
  "use strict";
8764
8944
 
8765
8945
  Object.defineProperty(exports, "__esModule", {
@@ -8778,7 +8958,7 @@ function isUppercase(str) {
8778
8958
 
8779
8959
  module.exports = exports.default;
8780
8960
  module.exports.default = exports.default;
8781
- },{"./util/assertString":98}],83:[function(require,module,exports){
8961
+ },{"./util/assertString":99}],84:[function(require,module,exports){
8782
8962
  "use strict";
8783
8963
 
8784
8964
  Object.defineProperty(exports, "__esModule", {
@@ -8793,7 +8973,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
8793
8973
 
8794
8974
  var vatMatchers = {
8795
8975
  GB: /^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/,
8796
- IT: /^(IT)?[0-9]{11}$/
8976
+ IT: /^(IT)?[0-9]{11}$/,
8977
+ NL: /^(NL)?[0-9]{9}B[0-9]{2}$/
8797
8978
  };
8798
8979
  exports.vatMatchers = vatMatchers;
8799
8980
 
@@ -8807,7 +8988,7 @@ function isVAT(str, countryCode) {
8807
8988
 
8808
8989
  throw new Error("Invalid country code: '".concat(countryCode, "'"));
8809
8990
  }
8810
- },{"./util/assertString":98}],84:[function(require,module,exports){
8991
+ },{"./util/assertString":99}],85:[function(require,module,exports){
8811
8992
  "use strict";
8812
8993
 
8813
8994
  Object.defineProperty(exports, "__esModule", {
@@ -8830,7 +9011,7 @@ function isVariableWidth(str) {
8830
9011
 
8831
9012
  module.exports = exports.default;
8832
9013
  module.exports.default = exports.default;
8833
- },{"./isFullWidth":34,"./isHalfWidth":36,"./util/assertString":98}],85:[function(require,module,exports){
9014
+ },{"./isFullWidth":34,"./isHalfWidth":36,"./util/assertString":99}],86:[function(require,module,exports){
8834
9015
  "use strict";
8835
9016
 
8836
9017
  Object.defineProperty(exports, "__esModule", {
@@ -8856,7 +9037,7 @@ function isWhitelisted(str, chars) {
8856
9037
 
8857
9038
  module.exports = exports.default;
8858
9039
  module.exports.default = exports.default;
8859
- },{"./util/assertString":98}],86:[function(require,module,exports){
9040
+ },{"./util/assertString":99}],87:[function(require,module,exports){
8860
9041
  "use strict";
8861
9042
 
8862
9043
  Object.defineProperty(exports, "__esModule", {
@@ -8877,7 +9058,7 @@ function ltrim(str, chars) {
8877
9058
 
8878
9059
  module.exports = exports.default;
8879
9060
  module.exports.default = exports.default;
8880
- },{"./util/assertString":98}],87:[function(require,module,exports){
9061
+ },{"./util/assertString":99}],88:[function(require,module,exports){
8881
9062
  "use strict";
8882
9063
 
8883
9064
  Object.defineProperty(exports, "__esModule", {
@@ -8901,7 +9082,7 @@ function matches(str, pattern, modifiers) {
8901
9082
 
8902
9083
  module.exports = exports.default;
8903
9084
  module.exports.default = exports.default;
8904
- },{"./util/assertString":98}],88:[function(require,module,exports){
9085
+ },{"./util/assertString":99}],89:[function(require,module,exports){
8905
9086
  "use strict";
8906
9087
 
8907
9088
  Object.defineProperty(exports, "__esModule", {
@@ -9053,7 +9234,7 @@ function normalizeEmail(email, options) {
9053
9234
 
9054
9235
  module.exports = exports.default;
9055
9236
  module.exports.default = exports.default;
9056
- },{"./util/merge":100}],89:[function(require,module,exports){
9237
+ },{"./util/merge":101}],90:[function(require,module,exports){
9057
9238
  "use strict";
9058
9239
 
9059
9240
  Object.defineProperty(exports, "__esModule", {
@@ -9066,15 +9247,27 @@ var _assertString = _interopRequireDefault(require("./util/assertString"));
9066
9247
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9067
9248
 
9068
9249
  function rtrim(str, chars) {
9069
- (0, _assertString.default)(str); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
9250
+ (0, _assertString.default)(str);
9070
9251
 
9071
- var pattern = chars ? new RegExp("[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+$"), 'g') : /(\s)+$/g;
9072
- return str.replace(pattern, '');
9252
+ if (chars) {
9253
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
9254
+ var pattern = new RegExp("[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+$"), 'g');
9255
+ return str.replace(pattern, '');
9256
+ } // Use a faster and more safe than regex trim method https://blog.stevenlevithan.com/archives/faster-trim-javascript
9257
+
9258
+
9259
+ var strIndex = str.length - 1;
9260
+
9261
+ while (/\s/.test(str.charAt(strIndex))) {
9262
+ strIndex -= 1;
9263
+ }
9264
+
9265
+ return str.slice(0, strIndex + 1);
9073
9266
  }
9074
9267
 
9075
9268
  module.exports = exports.default;
9076
9269
  module.exports.default = exports.default;
9077
- },{"./util/assertString":98}],90:[function(require,module,exports){
9270
+ },{"./util/assertString":99}],91:[function(require,module,exports){
9078
9271
  "use strict";
9079
9272
 
9080
9273
  Object.defineProperty(exports, "__esModule", {
@@ -9096,7 +9289,7 @@ function stripLow(str, keep_new_lines) {
9096
9289
 
9097
9290
  module.exports = exports.default;
9098
9291
  module.exports.default = exports.default;
9099
- },{"./blacklist":6,"./util/assertString":98}],91:[function(require,module,exports){
9292
+ },{"./blacklist":6,"./util/assertString":99}],92:[function(require,module,exports){
9100
9293
  "use strict";
9101
9294
 
9102
9295
  Object.defineProperty(exports, "__esModule", {
@@ -9120,7 +9313,7 @@ function toBoolean(str, strict) {
9120
9313
 
9121
9314
  module.exports = exports.default;
9122
9315
  module.exports.default = exports.default;
9123
- },{"./util/assertString":98}],92:[function(require,module,exports){
9316
+ },{"./util/assertString":99}],93:[function(require,module,exports){
9124
9317
  "use strict";
9125
9318
 
9126
9319
  Object.defineProperty(exports, "__esModule", {
@@ -9140,7 +9333,7 @@ function toDate(date) {
9140
9333
 
9141
9334
  module.exports = exports.default;
9142
9335
  module.exports.default = exports.default;
9143
- },{"./util/assertString":98}],93:[function(require,module,exports){
9336
+ },{"./util/assertString":99}],94:[function(require,module,exports){
9144
9337
  "use strict";
9145
9338
 
9146
9339
  Object.defineProperty(exports, "__esModule", {
@@ -9159,7 +9352,7 @@ function toFloat(str) {
9159
9352
 
9160
9353
  module.exports = exports.default;
9161
9354
  module.exports.default = exports.default;
9162
- },{"./isFloat":33}],94:[function(require,module,exports){
9355
+ },{"./isFloat":33}],95:[function(require,module,exports){
9163
9356
  "use strict";
9164
9357
 
9165
9358
  Object.defineProperty(exports, "__esModule", {
@@ -9178,7 +9371,7 @@ function toInt(str, radix) {
9178
9371
 
9179
9372
  module.exports = exports.default;
9180
9373
  module.exports.default = exports.default;
9181
- },{"./util/assertString":98}],95:[function(require,module,exports){
9374
+ },{"./util/assertString":99}],96:[function(require,module,exports){
9182
9375
  "use strict";
9183
9376
 
9184
9377
  Object.defineProperty(exports, "__esModule", {
@@ -9198,7 +9391,7 @@ function trim(str, chars) {
9198
9391
 
9199
9392
  module.exports = exports.default;
9200
9393
  module.exports.default = exports.default;
9201
- },{"./ltrim":86,"./rtrim":89}],96:[function(require,module,exports){
9394
+ },{"./ltrim":87,"./rtrim":90}],97:[function(require,module,exports){
9202
9395
  "use strict";
9203
9396
 
9204
9397
  Object.defineProperty(exports, "__esModule", {
@@ -9212,12 +9405,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
9212
9405
 
9213
9406
  function unescape(str) {
9214
9407
  (0, _assertString.default)(str);
9215
- return str.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x2F;/g, '/').replace(/&#x5C;/g, '\\').replace(/&#96;/g, '`');
9408
+ return str.replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x2F;/g, '/').replace(/&#x5C;/g, '\\').replace(/&#96;/g, '`').replace(/&amp;/g, '&'); // &amp; replacement has to be the last one to prevent
9409
+ // bugs with intermediate strings containing escape sequences
9410
+ // See: https://github.com/validatorjs/validator.js/issues/1827
9216
9411
  }
9217
9412
 
9218
9413
  module.exports = exports.default;
9219
9414
  module.exports.default = exports.default;
9220
- },{"./util/assertString":98}],97:[function(require,module,exports){
9415
+ },{"./util/assertString":99}],98:[function(require,module,exports){
9221
9416
  "use strict";
9222
9417
 
9223
9418
  Object.defineProperty(exports, "__esModule", {
@@ -9319,7 +9514,7 @@ function verhoeffCheck(str) {
9319
9514
 
9320
9515
  return checksum === 0;
9321
9516
  }
9322
- },{}],98:[function(require,module,exports){
9517
+ },{}],99:[function(require,module,exports){
9323
9518
  "use strict";
9324
9519
 
9325
9520
  Object.defineProperty(exports, "__esModule", {
@@ -9342,7 +9537,7 @@ function assertString(input) {
9342
9537
 
9343
9538
  module.exports = exports.default;
9344
9539
  module.exports.default = exports.default;
9345
- },{}],99:[function(require,module,exports){
9540
+ },{}],100:[function(require,module,exports){
9346
9541
  "use strict";
9347
9542
 
9348
9543
  Object.defineProperty(exports, "__esModule", {
@@ -9360,7 +9555,7 @@ var _default = includes;
9360
9555
  exports.default = _default;
9361
9556
  module.exports = exports.default;
9362
9557
  module.exports.default = exports.default;
9363
- },{}],100:[function(require,module,exports){
9558
+ },{}],101:[function(require,module,exports){
9364
9559
  "use strict";
9365
9560
 
9366
9561
  Object.defineProperty(exports, "__esModule", {
@@ -9383,7 +9578,7 @@ function merge() {
9383
9578
 
9384
9579
  module.exports = exports.default;
9385
9580
  module.exports.default = exports.default;
9386
- },{}],101:[function(require,module,exports){
9581
+ },{}],102:[function(require,module,exports){
9387
9582
  "use strict";
9388
9583
 
9389
9584
  Object.defineProperty(exports, "__esModule", {
@@ -9406,7 +9601,7 @@ function multilineRegexp(parts, flags) {
9406
9601
 
9407
9602
  module.exports = exports.default;
9408
9603
  module.exports.default = exports.default;
9409
- },{}],102:[function(require,module,exports){
9604
+ },{}],103:[function(require,module,exports){
9410
9605
  "use strict";
9411
9606
 
9412
9607
  Object.defineProperty(exports, "__esModule", {
@@ -9432,7 +9627,7 @@ function toString(input) {
9432
9627
 
9433
9628
  module.exports = exports.default;
9434
9629
  module.exports.default = exports.default;
9435
- },{}],103:[function(require,module,exports){
9630
+ },{}],104:[function(require,module,exports){
9436
9631
  "use strict";
9437
9632
 
9438
9633
  Object.defineProperty(exports, "__esModule", {
@@ -9451,7 +9646,7 @@ function whitelist(str, chars) {
9451
9646
 
9452
9647
  module.exports = exports.default;
9453
9648
  module.exports.default = exports.default;
9454
- },{"./util/assertString":98}],104:[function(require,module,exports){
9649
+ },{"./util/assertString":99}],105:[function(require,module,exports){
9455
9650
  "use strict";
9456
9651
 
9457
9652
  module.exports = {
@@ -9513,7 +9708,7 @@ module.exports = {
9513
9708
 
9514
9709
  };
9515
9710
 
9516
- },{}],105:[function(require,module,exports){
9711
+ },{}],106:[function(require,module,exports){
9517
9712
  /*jshint maxlen: false*/
9518
9713
 
9519
9714
  var validator = require("validator");
@@ -9644,7 +9839,7 @@ var FormatValidators = {
9644
9839
 
9645
9840
  module.exports = FormatValidators;
9646
9841
 
9647
- },{"validator":4}],106:[function(require,module,exports){
9842
+ },{"validator":4}],107:[function(require,module,exports){
9648
9843
  "use strict";
9649
9844
 
9650
9845
  var FormatValidators = require("./FormatValidators"),
@@ -10267,7 +10462,7 @@ exports.validate = function (report, schema, json) {
10267
10462
 
10268
10463
  };
10269
10464
 
10270
- },{"./FormatValidators":105,"./Report":108,"./Utils":112}],107:[function(require,module,exports){
10465
+ },{"./FormatValidators":106,"./Report":109,"./Utils":113}],108:[function(require,module,exports){
10271
10466
  // Number.isFinite polyfill
10272
10467
  // http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite
10273
10468
  if (typeof Number.isFinite !== "function") {
@@ -10285,7 +10480,7 @@ if (typeof Number.isFinite !== "function") {
10285
10480
  };
10286
10481
  }
10287
10482
 
10288
- },{}],108:[function(require,module,exports){
10483
+ },{}],109:[function(require,module,exports){
10289
10484
  (function (process){(function (){
10290
10485
  "use strict";
10291
10486
 
@@ -10588,7 +10783,7 @@ Report.prototype.addCustomError = function (errorCode, errorMessage, params, sub
10588
10783
  module.exports = Report;
10589
10784
 
10590
10785
  }).call(this)}).call(this,require('_process'))
10591
- },{"./Errors":104,"./Utils":112,"_process":3,"lodash.get":1}],109:[function(require,module,exports){
10786
+ },{"./Errors":105,"./Utils":113,"_process":3,"lodash.get":1}],110:[function(require,module,exports){
10592
10787
  "use strict";
10593
10788
 
10594
10789
  var isequal = require("lodash.isequal");
@@ -10778,7 +10973,7 @@ exports.getSchemaByUri = function (report, uri, root) {
10778
10973
 
10779
10974
  exports.getRemotePath = getRemotePath;
10780
10975
 
10781
- },{"./Report":108,"./SchemaCompilation":110,"./SchemaValidation":111,"./Utils":112,"lodash.isequal":2}],110:[function(require,module,exports){
10976
+ },{"./Report":109,"./SchemaCompilation":111,"./SchemaValidation":112,"./Utils":113,"lodash.isequal":2}],111:[function(require,module,exports){
10782
10977
  "use strict";
10783
10978
 
10784
10979
  var Report = require("./Report");
@@ -11079,7 +11274,7 @@ exports.compileSchema = function (report, schema) {
11079
11274
 
11080
11275
  };
11081
11276
 
11082
- },{"./Report":108,"./SchemaCache":109,"./Utils":112}],111:[function(require,module,exports){
11277
+ },{"./Report":109,"./SchemaCache":110,"./Utils":113}],112:[function(require,module,exports){
11083
11278
  "use strict";
11084
11279
 
11085
11280
  var FormatValidators = require("./FormatValidators"),
@@ -11700,7 +11895,7 @@ exports.validateSchema = function (report, schema) {
11700
11895
  return isValid;
11701
11896
  };
11702
11897
 
11703
- },{"./FormatValidators":105,"./JsonValidation":106,"./Report":108,"./Utils":112}],112:[function(require,module,exports){
11898
+ },{"./FormatValidators":106,"./JsonValidation":107,"./Report":109,"./Utils":113}],113:[function(require,module,exports){
11704
11899
  "use strict";
11705
11900
 
11706
11901
  exports.jsonSymbol = Symbol.for("z-schema/json");
@@ -11976,7 +12171,7 @@ exports.ucs2decode = function (string) {
11976
12171
  };
11977
12172
  /*jshint +W016*/
11978
12173
 
11979
- },{}],113:[function(require,module,exports){
12174
+ },{}],114:[function(require,module,exports){
11980
12175
  (function (process){(function (){
11981
12176
  "use strict";
11982
12177
 
@@ -12389,7 +12584,7 @@ ZSchema.jsonSymbol = Utils.jsonSymbol;
12389
12584
  module.exports = ZSchema;
12390
12585
 
12391
12586
  }).call(this)}).call(this,require('_process'))
12392
- },{"./FormatValidators":105,"./JsonValidation":106,"./Polyfills":107,"./Report":108,"./SchemaCache":109,"./SchemaCompilation":110,"./SchemaValidation":111,"./Utils":112,"./schemas/hyper-schema.json":114,"./schemas/schema.json":115,"_process":3,"lodash.get":1}],114:[function(require,module,exports){
12587
+ },{"./FormatValidators":106,"./JsonValidation":107,"./Polyfills":108,"./Report":109,"./SchemaCache":110,"./SchemaCompilation":111,"./SchemaValidation":112,"./Utils":113,"./schemas/hyper-schema.json":115,"./schemas/schema.json":116,"_process":3,"lodash.get":1}],115:[function(require,module,exports){
12393
12588
  module.exports={
12394
12589
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
12395
12590
  "id": "http://json-schema.org/draft-04/hyper-schema#",
@@ -12549,7 +12744,7 @@ module.exports={
12549
12744
  }
12550
12745
 
12551
12746
 
12552
- },{}],115:[function(require,module,exports){
12747
+ },{}],116:[function(require,module,exports){
12553
12748
  module.exports={
12554
12749
  "id": "http://json-schema.org/draft-04/schema#",
12555
12750
  "$schema": "http://json-schema.org/draft-04/schema#",
@@ -12702,5 +12897,5 @@ module.exports={
12702
12897
  "default": {}
12703
12898
  }
12704
12899
 
12705
- },{}]},{},[104,105,106,107,108,109,110,111,112,113])(113)
12900
+ },{}]},{},[105,106,107,108,109,110,111,112,113,114])(114)
12706
12901
  });