validator-string 13.15.36
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.
- package/LICENSE +20 -0
- package/README.md +269 -0
- package/es/index.js +218 -0
- package/es/lib/alpha.js +151 -0
- package/es/lib/blacklist.js +5 -0
- package/es/lib/contains.js +15 -0
- package/es/lib/equals.js +5 -0
- package/es/lib/escape.js +5 -0
- package/es/lib/isAbaRouting.js +15 -0
- package/es/lib/isAfter.js +10 -0
- package/es/lib/isAlpha.js +23 -0
- package/es/lib/isAlphanumeric.js +23 -0
- package/es/lib/isAscii.js +10 -0
- package/es/lib/isBIC.js +16 -0
- package/es/lib/isBase32.js +15 -0
- package/es/lib/isBase58.js +8 -0
- package/es/lib/isBase64.js +23 -0
- package/es/lib/isBefore.js +10 -0
- package/es/lib/isBoolean.js +15 -0
- package/es/lib/isBtcAddress.js +7 -0
- package/es/lib/isByteLength.js +19 -0
- package/es/lib/isCreditCard.js +43 -0
- package/es/lib/isCurrency.js +74 -0
- package/es/lib/isDataURI.js +31 -0
- package/es/lib/isDate.js +93 -0
- package/es/lib/isDecimal.js +22 -0
- package/es/lib/isDivisibleBy.js +6 -0
- package/es/lib/isEAN.js +70 -0
- package/es/lib/isEmail.js +165 -0
- package/es/lib/isEmpty.js +10 -0
- package/es/lib/isEthereumAddress.js +6 -0
- package/es/lib/isFQDN.js +67 -0
- package/es/lib/isFloat.js +14 -0
- package/es/lib/isFullWidth.js +6 -0
- package/es/lib/isHSL.js +13 -0
- package/es/lib/isHalfWidth.js +6 -0
- package/es/lib/isHash.js +21 -0
- package/es/lib/isHexColor.js +13 -0
- package/es/lib/isHexadecimal.js +6 -0
- package/es/lib/isIBAN.js +171 -0
- package/es/lib/isIMEI.js +40 -0
- package/es/lib/isIP.js +58 -0
- package/es/lib/isIPRange.js +41 -0
- package/es/lib/isISBN.js +47 -0
- package/es/lib/isISIN.js +55 -0
- package/es/lib/isISO15924.js +9 -0
- package/es/lib/isISO31661Alpha2.js +21 -0
- package/es/lib/isISO31661Alpha3.js +20 -0
- package/es/lib/isISO31661Numeric.js +8 -0
- package/es/lib/isISO4217.js +9 -0
- package/es/lib/isISO6346.js +28 -0
- package/es/lib/isISO6391.js +6 -0
- package/es/lib/isISO8601.js +42 -0
- package/es/lib/isISRC.js +8 -0
- package/es/lib/isISSN.js +19 -0
- package/es/lib/isIdentityCard.js +407 -0
- package/es/lib/isIn.js +23 -0
- package/es/lib/isInt.js +19 -0
- package/es/lib/isJSON.js +26 -0
- package/es/lib/isJWT.js +15 -0
- package/es/lib/isLatLong.js +21 -0
- package/es/lib/isLength.js +27 -0
- package/es/lib/isLicensePlate.js +58 -0
- package/es/lib/isLocale.js +107 -0
- package/es/lib/isLowercase.js +5 -0
- package/es/lib/isLuhnNumber.js +25 -0
- package/es/lib/isMACAddress.js +36 -0
- package/es/lib/isMD5.js +6 -0
- package/es/lib/isMagnetURI.js +9 -0
- package/es/lib/isMailtoURI.js +75 -0
- package/es/lib/isMimeType.js +40 -0
- package/es/lib/isMobilePhone.js +212 -0
- package/es/lib/isMongoId.js +6 -0
- package/es/lib/isMultibyte.js +10 -0
- package/es/lib/isNumeric.js +10 -0
- package/es/lib/isOctal.js +6 -0
- package/es/lib/isPassportNumber.js +145 -0
- package/es/lib/isPort.js +8 -0
- package/es/lib/isPostalCode.js +100 -0
- package/es/lib/isRFC3339.js +21 -0
- package/es/lib/isRgbColor.js +34 -0
- package/es/lib/isSemVer.js +14 -0
- package/es/lib/isSlug.js +6 -0
- package/es/lib/isStrongPassword.js +90 -0
- package/es/lib/isSurrogatePair.js +6 -0
- package/es/lib/isTaxID.js +1407 -0
- package/es/lib/isTime.js +22 -0
- package/es/lib/isULID.js +5 -0
- package/es/lib/isURL.js +241 -0
- package/es/lib/isUUID.js +23 -0
- package/es/lib/isUppercase.js +5 -0
- package/es/lib/isVAT.js +264 -0
- package/es/lib/isVariableWidth.js +7 -0
- package/es/lib/isWhitelisted.js +10 -0
- package/es/lib/ltrim.js +7 -0
- package/es/lib/matches.js +8 -0
- package/es/lib/normalizeEmail.js +131 -0
- package/es/lib/rtrim.js +15 -0
- package/es/lib/stripLow.js +7 -0
- package/es/lib/toBoolean.js +8 -0
- package/es/lib/toDate.js +6 -0
- package/es/lib/toFloat.js +5 -0
- package/es/lib/toInt.js +5 -0
- package/es/lib/trim.js +5 -0
- package/es/lib/unescape.js +8 -0
- package/es/lib/util/algorithms.js +79 -0
- package/es/lib/util/assertString.js +4 -0
- package/es/lib/util/checkHost.js +12 -0
- package/es/lib/util/includesArray.js +6 -0
- package/es/lib/util/includesString.js +4 -0
- package/es/lib/util/merge.js +14 -0
- package/es/lib/util/multilineRegex.js +12 -0
- package/es/lib/util/nullUndefinedCheck.js +3 -0
- package/es/lib/util/toString.js +13 -0
- package/es/lib/util/typeOf.js +10 -0
- package/es/lib/whitelist.js +5 -0
- package/index.js +229 -0
- package/lib/alpha.js +157 -0
- package/lib/blacklist.js +14 -0
- package/lib/contains.js +24 -0
- package/lib/equals.js +14 -0
- package/lib/escape.js +14 -0
- package/lib/isAbaRouting.js +23 -0
- package/lib/isAfter.js +19 -0
- package/lib/isAlpha.js +31 -0
- package/lib/isAlphanumeric.js +31 -0
- package/lib/isAscii.js +18 -0
- package/lib/isBIC.js +24 -0
- package/lib/isBase32.js +24 -0
- package/lib/isBase58.js +16 -0
- package/lib/isBase64.js +32 -0
- package/lib/isBefore.js +19 -0
- package/lib/isBoolean.js +24 -0
- package/lib/isBtcAddress.js +16 -0
- package/lib/isByteLength.js +27 -0
- package/lib/isCreditCard.js +52 -0
- package/lib/isCurrency.js +83 -0
- package/lib/isDataURI.js +40 -0
- package/lib/isDate.js +102 -0
- package/lib/isDecimal.js +31 -0
- package/lib/isDivisibleBy.js +15 -0
- package/lib/isEAN.js +78 -0
- package/lib/isEmail.js +174 -0
- package/lib/isEmpty.js +19 -0
- package/lib/isEthereumAddress.js +15 -0
- package/lib/isFQDN.js +76 -0
- package/lib/isFloat.js +22 -0
- package/lib/isFullWidth.js +14 -0
- package/lib/isHSL.js +22 -0
- package/lib/isHalfWidth.js +14 -0
- package/lib/isHash.js +30 -0
- package/lib/isHexColor.js +22 -0
- package/lib/isHexadecimal.js +15 -0
- package/lib/isIBAN.js +178 -0
- package/lib/isIMEI.js +49 -0
- package/lib/isIP.js +67 -0
- package/lib/isIPRange.js +50 -0
- package/lib/isISBN.js +56 -0
- package/lib/isISIN.js +64 -0
- package/lib/isISO15924.js +16 -0
- package/lib/isISO31661Alpha2.js +28 -0
- package/lib/isISO31661Alpha3.js +28 -0
- package/lib/isISO31661Numeric.js +16 -0
- package/lib/isISO4217.js +16 -0
- package/lib/isISO6346.js +35 -0
- package/lib/isISO6391.js +15 -0
- package/lib/isISO8601.js +50 -0
- package/lib/isISRC.js +16 -0
- package/lib/isISSN.js +28 -0
- package/lib/isIdentityCard.js +416 -0
- package/lib/isIn.js +32 -0
- package/lib/isInt.js +28 -0
- package/lib/isJSON.js +35 -0
- package/lib/isJWT.js +24 -0
- package/lib/isLatLong.js +30 -0
- package/lib/isLength.js +35 -0
- package/lib/isLicensePlate.js +67 -0
- package/lib/isLocale.js +115 -0
- package/lib/isLowercase.js +14 -0
- package/lib/isLuhnNumber.js +34 -0
- package/lib/isMACAddress.js +45 -0
- package/lib/isMD5.js +15 -0
- package/lib/isMagnetURI.js +18 -0
- package/lib/isMailtoURI.js +84 -0
- package/lib/isMimeType.js +48 -0
- package/lib/isMobilePhone.js +219 -0
- package/lib/isMongoId.js +15 -0
- package/lib/isMultibyte.js +18 -0
- package/lib/isNumeric.js +19 -0
- package/lib/isOctal.js +15 -0
- package/lib/isPassportNumber.js +152 -0
- package/lib/isPort.js +17 -0
- package/lib/isPostalCode.js +107 -0
- package/lib/isRFC3339.js +29 -0
- package/lib/isRgbColor.js +42 -0
- package/lib/isSemVer.js +22 -0
- package/lib/isSlug.js +15 -0
- package/lib/isStrongPassword.js +99 -0
- package/lib/isSurrogatePair.js +15 -0
- package/lib/isTaxID.js +1417 -0
- package/lib/isTime.js +31 -0
- package/lib/isULID.js +14 -0
- package/lib/isURL.js +249 -0
- package/lib/isUUID.js +32 -0
- package/lib/isUppercase.js +14 -0
- package/lib/isVAT.js +274 -0
- package/lib/isVariableWidth.js +16 -0
- package/lib/isWhitelisted.js +19 -0
- package/lib/ltrim.js +16 -0
- package/lib/matches.js +17 -0
- package/lib/normalizeEmail.js +140 -0
- package/lib/rtrim.js +24 -0
- package/lib/stripLow.js +16 -0
- package/lib/toBoolean.js +17 -0
- package/lib/toDate.js +15 -0
- package/lib/toFloat.js +14 -0
- package/lib/toInt.js +14 -0
- package/lib/trim.js +14 -0
- package/lib/unescape.js +17 -0
- package/lib/util/algorithms.js +88 -0
- package/lib/util/assertString.js +12 -0
- package/lib/util/checkHost.js +20 -0
- package/lib/util/includesArray.js +14 -0
- package/lib/util/includesString.js +12 -0
- package/lib/util/merge.js +22 -0
- package/lib/util/multilineRegex.js +20 -0
- package/lib/util/nullUndefinedCheck.js +11 -0
- package/lib/util/toString.js +21 -0
- package/lib/util/typeOf.js +18 -0
- package/lib/whitelist.js +14 -0
- package/package.json +83 -0
- package/validator.js +5808 -0
- package/validator.min.js +23 -0
package/lib/alpha.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.farsiLocales = exports.englishLocales = exports.dotDecimal = exports.decimal = exports.commaDecimal = exports.bengaliLocales = exports.arabicLocales = exports.alphanumeric = exports.alpha = void 0;
|
|
7
|
+
var alpha = exports.alpha = {
|
|
8
|
+
'en-US': /^[A-Z]+$/i,
|
|
9
|
+
'az-AZ': /^[A-VXYZÇƏĞİıÖŞÜ]+$/i,
|
|
10
|
+
'bg-BG': /^[А-Я]+$/i,
|
|
11
|
+
'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
|
|
12
|
+
'da-DK': /^[A-ZÆØÅ]+$/i,
|
|
13
|
+
'de-DE': /^[A-ZÄÖÜß]+$/i,
|
|
14
|
+
'el-GR': /^[Α-ώ]+$/i,
|
|
15
|
+
'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
|
|
16
|
+
'fa-IR': /^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,
|
|
17
|
+
'fi-FI': /^[A-ZÅÄÖ]+$/i,
|
|
18
|
+
'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
|
|
19
|
+
'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i,
|
|
20
|
+
'ja-JP': /^[ぁ-んァ-ヶヲ-゚一-龠ー・。、]+$/i,
|
|
21
|
+
'nb-NO': /^[A-ZÆØÅ]+$/i,
|
|
22
|
+
'nl-NL': /^[A-ZÁÉËÏÓÖÜÚ]+$/i,
|
|
23
|
+
'nn-NO': /^[A-ZÆØÅ]+$/i,
|
|
24
|
+
'hu-HU': /^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,
|
|
25
|
+
'pl-PL': /^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
|
|
26
|
+
'pt-PT': /^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,
|
|
27
|
+
'ru-RU': /^[А-ЯЁ]+$/i,
|
|
28
|
+
'kk-KZ': /^[А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,
|
|
29
|
+
'sl-SI': /^[A-ZČĆĐŠŽ]+$/i,
|
|
30
|
+
'sk-SK': /^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,
|
|
31
|
+
'sr-RS@latin': /^[A-ZČĆŽŠĐ]+$/i,
|
|
32
|
+
'sr-RS': /^[А-ЯЂЈЉЊЋЏ]+$/i,
|
|
33
|
+
'sv-SE': /^[A-ZÅÄÖ]+$/i,
|
|
34
|
+
'th-TH': /^[ก-๐\s]+$/i,
|
|
35
|
+
'tr-TR': /^[A-ZÇĞİıÖŞÜ]+$/i,
|
|
36
|
+
'uk-UA': /^[А-ЩЬЮЯЄIЇҐі]+$/i,
|
|
37
|
+
'vi-VN': /^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,
|
|
38
|
+
'ko-KR': /^[ㄱ-ㅎㅏ-ㅣ가-힣]*$/,
|
|
39
|
+
'ku-IQ': /^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,
|
|
40
|
+
ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,
|
|
41
|
+
he: /^[א-ת]+$/,
|
|
42
|
+
fa: /^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i,
|
|
43
|
+
bn: /^['ঀঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽািীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣৰৱ৲৳৴৵৶৷৸৹৺৻']+$/,
|
|
44
|
+
eo: /^[ABCĈD-GĜHĤIJĴK-PRSŜTUŬVZ]+$/i,
|
|
45
|
+
'hi-IN': /^[\u0900-\u0961]+[\u0972-\u097F]*$/i,
|
|
46
|
+
'si-LK': /^[\u0D80-\u0DFF]+$/,
|
|
47
|
+
'ta-IN': /^[\u0B80-\u0BFF]+$/i,
|
|
48
|
+
'te-IN': /^[\u0C00-\u0C7F]+$/i,
|
|
49
|
+
'kn-IN': /^[\u0C80-\u0CFF]+$/i,
|
|
50
|
+
'ml-IN': /^[\u0D00-\u0D7F]+$/i,
|
|
51
|
+
'gu-IN': /^[\u0A80-\u0AFF]+$/i,
|
|
52
|
+
'pa-IN': /^[\u0A00-\u0A7F]+$/i,
|
|
53
|
+
'or-IN': /^[\u0B00-\u0B7F]+$/i
|
|
54
|
+
};
|
|
55
|
+
var alphanumeric = exports.alphanumeric = {
|
|
56
|
+
'en-US': /^[0-9A-Z]+$/i,
|
|
57
|
+
'az-AZ': /^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i,
|
|
58
|
+
'bg-BG': /^[0-9А-Я]+$/i,
|
|
59
|
+
'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
|
|
60
|
+
'da-DK': /^[0-9A-ZÆØÅ]+$/i,
|
|
61
|
+
'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
|
|
62
|
+
'el-GR': /^[0-9Α-ω]+$/i,
|
|
63
|
+
'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
|
|
64
|
+
'fi-FI': /^[0-9A-ZÅÄÖ]+$/i,
|
|
65
|
+
'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
|
|
66
|
+
'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,
|
|
67
|
+
'ja-JP': /^[0-90-9ぁ-んァ-ヶヲ-゚一-龠ー・。、]+$/i,
|
|
68
|
+
'hu-HU': /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,
|
|
69
|
+
'nb-NO': /^[0-9A-ZÆØÅ]+$/i,
|
|
70
|
+
'nl-NL': /^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,
|
|
71
|
+
'nn-NO': /^[0-9A-ZÆØÅ]+$/i,
|
|
72
|
+
'pl-PL': /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
|
|
73
|
+
'pt-PT': /^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,
|
|
74
|
+
'ru-RU': /^[0-9А-ЯЁ]+$/i,
|
|
75
|
+
'kk-KZ': /^[0-9А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,
|
|
76
|
+
'sl-SI': /^[0-9A-ZČĆĐŠŽ]+$/i,
|
|
77
|
+
'sk-SK': /^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,
|
|
78
|
+
'sr-RS@latin': /^[0-9A-ZČĆŽŠĐ]+$/i,
|
|
79
|
+
'sr-RS': /^[0-9А-ЯЂЈЉЊЋЏ]+$/i,
|
|
80
|
+
'sv-SE': /^[0-9A-ZÅÄÖ]+$/i,
|
|
81
|
+
'th-TH': /^[ก-๙\s]+$/i,
|
|
82
|
+
'tr-TR': /^[0-9A-ZÇĞİıÖŞÜ]+$/i,
|
|
83
|
+
'uk-UA': /^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,
|
|
84
|
+
'ko-KR': /^[0-9ㄱ-ㅎㅏ-ㅣ가-힣]*$/,
|
|
85
|
+
'ku-IQ': /^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,
|
|
86
|
+
'vi-VN': /^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,
|
|
87
|
+
ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,
|
|
88
|
+
he: /^[0-9א-ת]+$/,
|
|
89
|
+
fa: /^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i,
|
|
90
|
+
bn: /^['ঀঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽািীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣ০১২৩৪৫৬৭৮৯ৰৱ৲৳৴৵৶৷৸৹৺৻']+$/,
|
|
91
|
+
eo: /^[0-9ABCĈD-GĜHĤIJĴK-PRSŜTUŬVZ]+$/i,
|
|
92
|
+
'hi-IN': /^[\u0900-\u0963]+[\u0966-\u097F]*$/i,
|
|
93
|
+
'si-LK': /^[0-9\u0D80-\u0DFF]+$/,
|
|
94
|
+
'ta-IN': /^[0-9\u0B80-\u0BFF.]+$/i,
|
|
95
|
+
'te-IN': /^[0-9\u0C00-\u0C7F.]+$/i,
|
|
96
|
+
'kn-IN': /^[0-9\u0C80-\u0CFF.]+$/i,
|
|
97
|
+
'ml-IN': /^[0-9\u0D00-\u0D7F.]+$/i,
|
|
98
|
+
'gu-IN': /^[0-9\u0A80-\u0AFF.]+$/i,
|
|
99
|
+
'pa-IN': /^[0-9\u0A00-\u0A7F.]+$/i,
|
|
100
|
+
'or-IN': /^[0-9\u0B00-\u0B7F.]+$/i
|
|
101
|
+
};
|
|
102
|
+
var decimal = exports.decimal = {
|
|
103
|
+
'en-US': '.',
|
|
104
|
+
ar: '٫'
|
|
105
|
+
};
|
|
106
|
+
var englishLocales = exports.englishLocales = ['AU', 'GB', 'HK', 'IN', 'NZ', 'ZA', 'ZM'];
|
|
107
|
+
for (var locale, i = 0; i < englishLocales.length; i++) {
|
|
108
|
+
locale = "en-".concat(englishLocales[i]);
|
|
109
|
+
alpha[locale] = alpha['en-US'];
|
|
110
|
+
alphanumeric[locale] = alphanumeric['en-US'];
|
|
111
|
+
decimal[locale] = decimal['en-US'];
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Source: http://www.localeplanet.com/java/
|
|
115
|
+
var arabicLocales = exports.arabicLocales = ['AE', 'BH', 'DZ', 'EG', 'IQ', 'JO', 'KW', 'LB', 'LY', 'MA', 'QM', 'QA', 'SA', 'SD', 'SY', 'TN', 'YE'];
|
|
116
|
+
for (var _locale, _i = 0; _i < arabicLocales.length; _i++) {
|
|
117
|
+
_locale = "ar-".concat(arabicLocales[_i]);
|
|
118
|
+
alpha[_locale] = alpha.ar;
|
|
119
|
+
alphanumeric[_locale] = alphanumeric.ar;
|
|
120
|
+
decimal[_locale] = decimal.ar;
|
|
121
|
+
}
|
|
122
|
+
var farsiLocales = exports.farsiLocales = ['IR', 'AF'];
|
|
123
|
+
for (var _locale2, _i2 = 0; _i2 < farsiLocales.length; _i2++) {
|
|
124
|
+
_locale2 = "fa-".concat(farsiLocales[_i2]);
|
|
125
|
+
alphanumeric[_locale2] = alphanumeric.fa;
|
|
126
|
+
decimal[_locale2] = decimal.ar;
|
|
127
|
+
}
|
|
128
|
+
var bengaliLocales = exports.bengaliLocales = ['BD', 'IN'];
|
|
129
|
+
for (var _locale3, _i3 = 0; _i3 < bengaliLocales.length; _i3++) {
|
|
130
|
+
_locale3 = "bn-".concat(bengaliLocales[_i3]);
|
|
131
|
+
alpha[_locale3] = alpha.bn;
|
|
132
|
+
alphanumeric[_locale3] = alphanumeric.bn;
|
|
133
|
+
decimal[_locale3] = decimal['en-US'];
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Source: https://en.wikipedia.org/wiki/Decimal_mark
|
|
137
|
+
var dotDecimal = exports.dotDecimal = ['ar-EG', 'ar-LB', 'ar-LY'];
|
|
138
|
+
var commaDecimal = exports.commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'eo', 'es-ES', 'fr-CA', 'fr-FR', 'gu-IN', 'hi-IN', 'hu-HU', 'id-ID', 'it-IT', 'kk-KZ', 'kn-IN', 'ku-IQ', 'ml-IN', 'nb-NO', 'nl-NL', 'nn-NO', 'or-IN', 'pa-IN', 'pl-PL', 'pt-PT', 'ru-RU', 'si-LK', 'sl-SI', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'ta-IN', 'te-IN', 'tr-TR', 'uk-UA', 'vi-VN'];
|
|
139
|
+
for (var _i4 = 0; _i4 < dotDecimal.length; _i4++) {
|
|
140
|
+
decimal[dotDecimal[_i4]] = decimal['en-US'];
|
|
141
|
+
}
|
|
142
|
+
for (var _i5 = 0; _i5 < commaDecimal.length; _i5++) {
|
|
143
|
+
decimal[commaDecimal[_i5]] = ',';
|
|
144
|
+
}
|
|
145
|
+
alpha['fr-CA'] = alpha['fr-FR'];
|
|
146
|
+
alphanumeric['fr-CA'] = alphanumeric['fr-FR'];
|
|
147
|
+
alpha['pt-BR'] = alpha['pt-PT'];
|
|
148
|
+
alphanumeric['pt-BR'] = alphanumeric['pt-PT'];
|
|
149
|
+
decimal['pt-BR'] = decimal['pt-PT'];
|
|
150
|
+
|
|
151
|
+
// see #862
|
|
152
|
+
alpha['pl-Pl'] = alpha['pl-PL'];
|
|
153
|
+
alphanumeric['pl-Pl'] = alphanumeric['pl-PL'];
|
|
154
|
+
decimal['pl-Pl'] = decimal['pl-PL'];
|
|
155
|
+
|
|
156
|
+
// see #1455
|
|
157
|
+
alpha['fa-AF'] = alpha.fa;
|
package/lib/blacklist.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = blacklist;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function blacklist(str, chars) {
|
|
10
|
+
(0, _assertString.default)(str);
|
|
11
|
+
return str.replace(new RegExp("[".concat(chars, "]+"), 'g'), '');
|
|
12
|
+
}
|
|
13
|
+
module.exports = exports.default;
|
|
14
|
+
module.exports.default = exports.default;
|
package/lib/contains.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = contains;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _toString = _interopRequireDefault(require("./util/toString"));
|
|
9
|
+
var _merge = _interopRequireDefault(require("./util/merge"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
var defaultContainsOptions = {
|
|
12
|
+
ignoreCase: false,
|
|
13
|
+
minOccurrences: 1
|
|
14
|
+
};
|
|
15
|
+
function contains(str, elem, options) {
|
|
16
|
+
(0, _assertString.default)(str);
|
|
17
|
+
options = (0, _merge.default)(options, defaultContainsOptions);
|
|
18
|
+
if (options.ignoreCase) {
|
|
19
|
+
return str.toLowerCase().split((0, _toString.default)(elem).toLowerCase()).length > options.minOccurrences;
|
|
20
|
+
}
|
|
21
|
+
return str.split((0, _toString.default)(elem)).length > options.minOccurrences;
|
|
22
|
+
}
|
|
23
|
+
module.exports = exports.default;
|
|
24
|
+
module.exports.default = exports.default;
|
package/lib/equals.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = equals;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function equals(str, comparison) {
|
|
10
|
+
(0, _assertString.default)(str);
|
|
11
|
+
return str === comparison;
|
|
12
|
+
}
|
|
13
|
+
module.exports = exports.default;
|
|
14
|
+
module.exports.default = exports.default;
|
package/lib/escape.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = escape;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function escape(str) {
|
|
10
|
+
(0, _assertString.default)(str);
|
|
11
|
+
return str.replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>').replace(/\//g, '/').replace(/\\/g, '\').replace(/`/g, '`');
|
|
12
|
+
}
|
|
13
|
+
module.exports = exports.default;
|
|
14
|
+
module.exports.default = exports.default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAbaRouting;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// http://www.brainjar.com/js/validation/
|
|
10
|
+
// https://www.aba.com/news-research/research-analysis/routing-number-policy-procedures
|
|
11
|
+
// series reserved for future use are excluded
|
|
12
|
+
var isRoutingReg = /^(?!(1[3-9])|(20)|(3[3-9])|(4[0-9])|(5[0-9])|(60)|(7[3-9])|(8[1-9])|(9[0-2])|(9[3-9]))[0-9]{9}$/;
|
|
13
|
+
function isAbaRouting(str) {
|
|
14
|
+
(0, _assertString.default)(str);
|
|
15
|
+
if (!isRoutingReg.test(str)) return false;
|
|
16
|
+
var checkSumVal = 0;
|
|
17
|
+
for (var i = 0; i < str.length; i++) {
|
|
18
|
+
if (i % 3 === 0) checkSumVal += str[i] * 3;else if (i % 3 === 1) checkSumVal += str[i] * 7;else checkSumVal += str[i] * 1;
|
|
19
|
+
}
|
|
20
|
+
return checkSumVal % 10 === 0;
|
|
21
|
+
}
|
|
22
|
+
module.exports = exports.default;
|
|
23
|
+
module.exports.default = exports.default;
|
package/lib/isAfter.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAfter;
|
|
7
|
+
var _toDate = _interopRequireDefault(require("./toDate"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function isAfter(date, options) {
|
|
11
|
+
// For backwards compatibility:
|
|
12
|
+
// isAfter(str [, date]), i.e. `options` could be used as argument for the legacy `date`
|
|
13
|
+
var comparisonDate = (_typeof(options) === 'object' ? options.comparisonDate : options) || Date().toString();
|
|
14
|
+
var comparison = (0, _toDate.default)(comparisonDate);
|
|
15
|
+
var original = (0, _toDate.default)(date);
|
|
16
|
+
return !!(original && comparison && original > comparison);
|
|
17
|
+
}
|
|
18
|
+
module.exports = exports.default;
|
|
19
|
+
module.exports.default = exports.default;
|
package/lib/isAlpha.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAlpha;
|
|
7
|
+
exports.locales = void 0;
|
|
8
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
9
|
+
var _alpha = require("./alpha");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function isAlpha(_str) {
|
|
12
|
+
var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
|
|
13
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
14
|
+
(0, _assertString.default)(_str);
|
|
15
|
+
var str = _str;
|
|
16
|
+
var ignore = options.ignore;
|
|
17
|
+
if (ignore) {
|
|
18
|
+
if (ignore instanceof RegExp) {
|
|
19
|
+
str = str.replace(ignore, '');
|
|
20
|
+
} else if (typeof ignore === 'string') {
|
|
21
|
+
str = str.replace(new RegExp("[".concat(ignore.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g, '\\$&'), "]"), 'g'), ''); // escape regex for ignore
|
|
22
|
+
} else {
|
|
23
|
+
throw new Error('ignore should be instance of a String or RegExp');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (locale in _alpha.alpha) {
|
|
27
|
+
return _alpha.alpha[locale].test(str);
|
|
28
|
+
}
|
|
29
|
+
throw new Error("Invalid locale '".concat(locale, "'"));
|
|
30
|
+
}
|
|
31
|
+
var locales = exports.locales = Object.keys(_alpha.alpha);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAlphanumeric;
|
|
7
|
+
exports.locales = void 0;
|
|
8
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
9
|
+
var _alpha = require("./alpha");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function isAlphanumeric(_str) {
|
|
12
|
+
var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
|
|
13
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
14
|
+
(0, _assertString.default)(_str);
|
|
15
|
+
var str = _str;
|
|
16
|
+
var ignore = options.ignore;
|
|
17
|
+
if (ignore) {
|
|
18
|
+
if (ignore instanceof RegExp) {
|
|
19
|
+
str = str.replace(ignore, '');
|
|
20
|
+
} else if (typeof ignore === 'string') {
|
|
21
|
+
str = str.replace(new RegExp("[".concat(ignore.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g, '\\$&'), "]"), 'g'), ''); // escape regex for ignore
|
|
22
|
+
} else {
|
|
23
|
+
throw new Error('ignore should be instance of a String or RegExp');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (locale in _alpha.alphanumeric) {
|
|
27
|
+
return _alpha.alphanumeric[locale].test(str);
|
|
28
|
+
}
|
|
29
|
+
throw new Error("Invalid locale '".concat(locale, "'"));
|
|
30
|
+
}
|
|
31
|
+
var locales = exports.locales = Object.keys(_alpha.alphanumeric);
|
package/lib/isAscii.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAscii;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
/* eslint-disable no-control-regex */
|
|
10
|
+
var ascii = /^[\x00-\x7F]+$/;
|
|
11
|
+
/* eslint-enable no-control-regex */
|
|
12
|
+
|
|
13
|
+
function isAscii(str) {
|
|
14
|
+
(0, _assertString.default)(str);
|
|
15
|
+
return ascii.test(str);
|
|
16
|
+
}
|
|
17
|
+
module.exports = exports.default;
|
|
18
|
+
module.exports.default = exports.default;
|
package/lib/isBIC.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBIC;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _isISO31661Alpha = require("./isISO31661Alpha2");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
// https://en.wikipedia.org/wiki/ISO_9362
|
|
11
|
+
var isBICReg = /^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$/;
|
|
12
|
+
function isBIC(str) {
|
|
13
|
+
(0, _assertString.default)(str);
|
|
14
|
+
|
|
15
|
+
// toUpperCase() should be removed when a new major version goes out that changes
|
|
16
|
+
// the regex to [A-Z] (per the spec).
|
|
17
|
+
var countryCode = str.slice(4, 6).toUpperCase();
|
|
18
|
+
if (!_isISO31661Alpha.CountryCodes.has(countryCode) && countryCode !== 'XK') {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return isBICReg.test(str);
|
|
22
|
+
}
|
|
23
|
+
module.exports = exports.default;
|
|
24
|
+
module.exports.default = exports.default;
|
package/lib/isBase32.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBase32;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _merge = _interopRequireDefault(require("./util/merge"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var base32 = /^[A-Z2-7]+=*$/;
|
|
11
|
+
var crockfordBase32 = /^[A-HJKMNP-TV-Z0-9]+$/;
|
|
12
|
+
var defaultBase32Options = {
|
|
13
|
+
crockford: false
|
|
14
|
+
};
|
|
15
|
+
function isBase32(str, options) {
|
|
16
|
+
(0, _assertString.default)(str);
|
|
17
|
+
options = (0, _merge.default)(options, defaultBase32Options);
|
|
18
|
+
if (options.crockford) {
|
|
19
|
+
return crockfordBase32.test(str);
|
|
20
|
+
}
|
|
21
|
+
return str.length % 8 === 0 && base32.test(str);
|
|
22
|
+
}
|
|
23
|
+
module.exports = exports.default;
|
|
24
|
+
module.exports.default = exports.default;
|
package/lib/isBase58.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBase58;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// Accepted chars - 123456789ABCDEFGH JKLMN PQRSTUVWXYZabcdefghijk mnopqrstuvwxyz
|
|
10
|
+
var base58Reg = /^[A-HJ-NP-Za-km-z1-9]*$/;
|
|
11
|
+
function isBase58(str) {
|
|
12
|
+
(0, _assertString.default)(str);
|
|
13
|
+
return base58Reg.test(str);
|
|
14
|
+
}
|
|
15
|
+
module.exports = exports.default;
|
|
16
|
+
module.exports.default = exports.default;
|
package/lib/isBase64.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBase64;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _merge = _interopRequireDefault(require("./util/merge"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var base64WithPadding = /^[A-Za-z0-9+/]+={0,2}$/;
|
|
11
|
+
var base64WithoutPadding = /^[A-Za-z0-9+/]+$/;
|
|
12
|
+
var base64UrlWithPadding = /^[A-Za-z0-9_-]+={0,2}$/;
|
|
13
|
+
var base64UrlWithoutPadding = /^[A-Za-z0-9_-]+$/;
|
|
14
|
+
function isBase64(str, options) {
|
|
15
|
+
var _options;
|
|
16
|
+
(0, _assertString.default)(str);
|
|
17
|
+
options = (0, _merge.default)(options, {
|
|
18
|
+
urlSafe: false,
|
|
19
|
+
padding: !((_options = options) !== null && _options !== void 0 && _options.urlSafe)
|
|
20
|
+
});
|
|
21
|
+
if (str === '') return true;
|
|
22
|
+
if (options.padding && str.length % 4 !== 0) return false;
|
|
23
|
+
var regex;
|
|
24
|
+
if (options.urlSafe) {
|
|
25
|
+
regex = options.padding ? base64UrlWithPadding : base64UrlWithoutPadding;
|
|
26
|
+
} else {
|
|
27
|
+
regex = options.padding ? base64WithPadding : base64WithoutPadding;
|
|
28
|
+
}
|
|
29
|
+
return (!options.padding || str.length % 4 === 0) && regex.test(str);
|
|
30
|
+
}
|
|
31
|
+
module.exports = exports.default;
|
|
32
|
+
module.exports.default = exports.default;
|
package/lib/isBefore.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBefore;
|
|
7
|
+
var _toDate = _interopRequireDefault(require("./toDate"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function isBefore(date, options) {
|
|
11
|
+
// For backwards compatibility:
|
|
12
|
+
// isBefore(str [, date]), i.e. `options` could be used as argument for the legacy `date`
|
|
13
|
+
var comparisonDate = (_typeof(options) === 'object' ? options.comparisonDate : options) || Date().toString();
|
|
14
|
+
var comparison = (0, _toDate.default)(comparisonDate);
|
|
15
|
+
var original = (0, _toDate.default)(date);
|
|
16
|
+
return !!(original && comparison && original < comparison);
|
|
17
|
+
}
|
|
18
|
+
module.exports = exports.default;
|
|
19
|
+
module.exports.default = exports.default;
|
package/lib/isBoolean.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBoolean;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _includesArray = _interopRequireDefault(require("./util/includesArray"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var defaultOptions = {
|
|
11
|
+
loose: false
|
|
12
|
+
};
|
|
13
|
+
var strictBooleans = ['true', 'false', '1', '0'];
|
|
14
|
+
var looseBooleans = [].concat(strictBooleans, ['yes', 'no']);
|
|
15
|
+
function isBoolean(str) {
|
|
16
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOptions;
|
|
17
|
+
(0, _assertString.default)(str);
|
|
18
|
+
if (options.loose) {
|
|
19
|
+
return (0, _includesArray.default)(looseBooleans, str.toLowerCase());
|
|
20
|
+
}
|
|
21
|
+
return (0, _includesArray.default)(strictBooleans, str);
|
|
22
|
+
}
|
|
23
|
+
module.exports = exports.default;
|
|
24
|
+
module.exports.default = exports.default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isBtcAddress;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var bech32 = /^(bc1|tb1|bc1p|tb1p)[ac-hj-np-z02-9]{39,58}$/;
|
|
10
|
+
var base58 = /^(1|2|3|m)[A-HJ-NP-Za-km-z1-9]{25,39}$/;
|
|
11
|
+
function isBtcAddress(str) {
|
|
12
|
+
(0, _assertString.default)(str);
|
|
13
|
+
return bech32.test(str) || base58.test(str);
|
|
14
|
+
}
|
|
15
|
+
module.exports = exports.default;
|
|
16
|
+
module.exports.default = exports.default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isByteLength;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
/* eslint-disable prefer-rest-params */
|
|
11
|
+
function isByteLength(str, options) {
|
|
12
|
+
(0, _assertString.default)(str);
|
|
13
|
+
var min;
|
|
14
|
+
var max;
|
|
15
|
+
if (_typeof(options) === 'object') {
|
|
16
|
+
min = options.min || 0;
|
|
17
|
+
max = options.max;
|
|
18
|
+
} else {
|
|
19
|
+
// backwards compatibility: isByteLength(str, min [, max])
|
|
20
|
+
min = arguments[1];
|
|
21
|
+
max = arguments[2];
|
|
22
|
+
}
|
|
23
|
+
var len = encodeURI(str).split(/%..|./).length - 1;
|
|
24
|
+
return len >= min && (typeof max === 'undefined' || len <= max);
|
|
25
|
+
}
|
|
26
|
+
module.exports = exports.default;
|
|
27
|
+
module.exports.default = exports.default;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isCreditCard;
|
|
7
|
+
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
8
|
+
var _isLuhnNumber = _interopRequireDefault(require("./isLuhnNumber"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var cards = {
|
|
11
|
+
amex: /^3[47][0-9]{13}$/,
|
|
12
|
+
dinersclub: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
|
|
13
|
+
discover: /^6(?:011|5[0-9][0-9])[0-9]{12,15}$/,
|
|
14
|
+
jcb: /^(?:2131|1800|35\d{3})\d{11}$/,
|
|
15
|
+
mastercard: /^5[1-5][0-9]{2}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$/,
|
|
16
|
+
// /^[25][1-7][0-9]{14}$/;
|
|
17
|
+
unionpay: /^(6[27][0-9]{14}|^(81[0-9]{14,17}))$/,
|
|
18
|
+
visa: /^(?:4[0-9]{12})(?:[0-9]{3,6})?$/
|
|
19
|
+
};
|
|
20
|
+
var allCards = function () {
|
|
21
|
+
var tmpCardsArray = [];
|
|
22
|
+
for (var cardProvider in cards) {
|
|
23
|
+
// istanbul ignore else
|
|
24
|
+
if (cards.hasOwnProperty(cardProvider)) {
|
|
25
|
+
tmpCardsArray.push(cards[cardProvider]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return tmpCardsArray;
|
|
29
|
+
}();
|
|
30
|
+
function isCreditCard(card) {
|
|
31
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
32
|
+
(0, _assertString.default)(card);
|
|
33
|
+
var provider = options.provider;
|
|
34
|
+
var sanitized = card.replace(/[- ]+/g, '');
|
|
35
|
+
if (provider && provider.toLowerCase() in cards) {
|
|
36
|
+
// specific provider in the list
|
|
37
|
+
if (!cards[provider.toLowerCase()].test(sanitized)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
} else if (provider && !(provider.toLowerCase() in cards)) {
|
|
41
|
+
/* specific provider not in the list */
|
|
42
|
+
throw new Error("".concat(provider, " is not a valid credit card provider."));
|
|
43
|
+
} else if (!allCards.some(function (cardProvider) {
|
|
44
|
+
return cardProvider.test(sanitized);
|
|
45
|
+
})) {
|
|
46
|
+
// no specific provider
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return (0, _isLuhnNumber.default)(card);
|
|
50
|
+
}
|
|
51
|
+
module.exports = exports.default;
|
|
52
|
+
module.exports.default = exports.default;
|