global-phone-validator 1.2.0 → 1.3.2
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/README.md +151 -90
- package/dist/countryData.d.ts +24 -0
- package/dist/countryData.d.ts.map +1 -0
- package/dist/countryData.js +1015 -0
- package/dist/countryData.js.map +1 -0
- package/dist/dataAccess.d.ts +35 -0
- package/dist/dataAccess.d.ts.map +1 -0
- package/dist/dataAccess.js +92 -0
- package/dist/dataAccess.js.map +1 -0
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -105
- package/dist/index.js.map +1 -1
- package/dist/mobilePrefixes.d.ts +11 -0
- package/dist/mobilePrefixes.d.ts.map +1 -0
- package/dist/mobilePrefixes.js +458 -0
- package/dist/mobilePrefixes.js.map +1 -0
- package/dist/phoneTypes.d.ts +10 -0
- package/dist/phoneTypes.d.ts.map +1 -0
- package/dist/phoneTypes.js +63 -0
- package/dist/phoneTypes.js.map +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/utils.d.ts +0 -17
- package/dist/utils.js +12 -20
- package/package.json +3 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countryData.js","sourceRoot":"","sources":["../src/countryData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CountryData, getCountryData, getAllCountryData } from "./countryData";
|
|
2
|
+
import { PhoneTypeRules, detectPhoneNumberType, PhoneNumberType } from "./phoneTypes";
|
|
3
|
+
export declare function getPhoneTypeRules(countryCode: string): PhoneTypeRules | undefined;
|
|
4
|
+
export declare function getValidationRules(countryCode: string): {
|
|
5
|
+
pattern?: RegExp;
|
|
6
|
+
minLength?: number;
|
|
7
|
+
maxLength?: number;
|
|
8
|
+
} | undefined;
|
|
9
|
+
export declare function getCountryInfo(countryCode: string): CountryData | undefined;
|
|
10
|
+
declare function getCountryInfoByIsoCode(isoCode: string): CountryData | undefined;
|
|
11
|
+
export declare function addCountryData(countryCode: string, data: {
|
|
12
|
+
name?: string;
|
|
13
|
+
dial_code?: string;
|
|
14
|
+
code?: string;
|
|
15
|
+
validation?: {
|
|
16
|
+
pattern?: RegExp | string;
|
|
17
|
+
minLength?: number;
|
|
18
|
+
maxLength?: number;
|
|
19
|
+
};
|
|
20
|
+
phoneTypes?: PhoneTypeRules;
|
|
21
|
+
metadata?: {
|
|
22
|
+
notes?: string;
|
|
23
|
+
areaCodeDependent?: boolean;
|
|
24
|
+
lastUpdated?: string;
|
|
25
|
+
};
|
|
26
|
+
}): void;
|
|
27
|
+
export declare function getCountriesWithPhoneTypeSupport(): Array<{
|
|
28
|
+
countryCode: string;
|
|
29
|
+
name: string;
|
|
30
|
+
code: string;
|
|
31
|
+
supportedTypes: PhoneNumberType[];
|
|
32
|
+
}>;
|
|
33
|
+
export declare function hasPhoneTypeSupport(countryCode: string, type: PhoneNumberType): boolean;
|
|
34
|
+
export { getAllCountryData, getCountryData, detectPhoneNumberType, type CountryData, type PhoneTypeRules, type PhoneNumberType, };
|
|
35
|
+
export { getCountryInfoByIsoCode as getCountryInfoByIso };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataAccess.d.ts","sourceRoot":"","sources":["../src/dataAccess.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGtF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,SAAS,CAaZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE3E;AAED;;GAEG;AACH,iBAAS,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,GACA,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,KAAK,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,eAAe,EAAE,CAAC;CACnC,CAAC,CA+BD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAoBvF;AAED;;GAEG;AACH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,CAAC;AAGF,OAAO,EAAE,uBAAuB,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectPhoneNumberType = exports.getCountryData = exports.getAllCountryData = void 0;
|
|
4
|
+
exports.getPhoneTypeRules = getPhoneTypeRules;
|
|
5
|
+
exports.getValidationRules = getValidationRules;
|
|
6
|
+
exports.getCountryInfo = getCountryInfo;
|
|
7
|
+
exports.addCountryData = addCountryData;
|
|
8
|
+
exports.getCountriesWithPhoneTypeSupport = getCountriesWithPhoneTypeSupport;
|
|
9
|
+
exports.hasPhoneTypeSupport = hasPhoneTypeSupport;
|
|
10
|
+
exports.getCountryInfoByIso = getCountryInfoByIsoCode;
|
|
11
|
+
const countryData_1 = require("./countryData");
|
|
12
|
+
Object.defineProperty(exports, "getCountryData", { enumerable: true, get: function () { return countryData_1.getCountryData; } });
|
|
13
|
+
Object.defineProperty(exports, "getAllCountryData", { enumerable: true, get: function () { return countryData_1.getAllCountryData; } });
|
|
14
|
+
const phoneTypes_1 = require("./phoneTypes");
|
|
15
|
+
Object.defineProperty(exports, "detectPhoneNumberType", { enumerable: true, get: function () { return phoneTypes_1.detectPhoneNumberType; } });
|
|
16
|
+
function getPhoneTypeRules(countryCode) {
|
|
17
|
+
const countryData = (0, countryData_1.getCountryData)(countryCode);
|
|
18
|
+
return countryData?.phoneTypes;
|
|
19
|
+
}
|
|
20
|
+
function getValidationRules(countryCode) {
|
|
21
|
+
const countryData = (0, countryData_1.getCountryData)(countryCode);
|
|
22
|
+
if (!countryData?.validation) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const { pattern, minLength, maxLength } = countryData.validation;
|
|
26
|
+
return {
|
|
27
|
+
pattern: typeof pattern === "string" ? new RegExp(pattern) : pattern,
|
|
28
|
+
minLength,
|
|
29
|
+
maxLength,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function getCountryInfo(countryCode) {
|
|
33
|
+
return (0, countryData_1.getCountryData)(countryCode);
|
|
34
|
+
}
|
|
35
|
+
function getCountryInfoByIsoCode(isoCode) {
|
|
36
|
+
const allData = (0, countryData_1.getAllCountryData)();
|
|
37
|
+
return Object.values(allData).find((data) => data.code === isoCode);
|
|
38
|
+
}
|
|
39
|
+
function addCountryData(countryCode, data) {
|
|
40
|
+
(0, countryData_1.setCountryData)(countryCode, data);
|
|
41
|
+
}
|
|
42
|
+
function getCountriesWithPhoneTypeSupport() {
|
|
43
|
+
const allData = (0, countryData_1.getAllCountryData)();
|
|
44
|
+
const result = [];
|
|
45
|
+
Object.entries(allData).forEach(([countryCode, data]) => {
|
|
46
|
+
if (data.phoneTypes) {
|
|
47
|
+
const supportedTypes = [];
|
|
48
|
+
if (data.phoneTypes.mobilePrefixes?.length)
|
|
49
|
+
supportedTypes.push("mobile");
|
|
50
|
+
if (data.phoneTypes.landlinePrefixes?.length)
|
|
51
|
+
supportedTypes.push("landline");
|
|
52
|
+
if (data.phoneTypes.voipPrefixes?.length)
|
|
53
|
+
supportedTypes.push("voip");
|
|
54
|
+
if (data.phoneTypes.tollFreePrefixes?.length)
|
|
55
|
+
supportedTypes.push("toll-free");
|
|
56
|
+
if (data.phoneTypes.premiumPrefixes?.length)
|
|
57
|
+
supportedTypes.push("premium");
|
|
58
|
+
if (data.phoneTypes.specialPrefixes?.length)
|
|
59
|
+
supportedTypes.push("special");
|
|
60
|
+
if (supportedTypes.length > 0) {
|
|
61
|
+
result.push({
|
|
62
|
+
countryCode,
|
|
63
|
+
name: data.name,
|
|
64
|
+
code: data.code,
|
|
65
|
+
supportedTypes,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
function hasPhoneTypeSupport(countryCode, type) {
|
|
73
|
+
const rules = getPhoneTypeRules(countryCode);
|
|
74
|
+
if (!rules)
|
|
75
|
+
return false;
|
|
76
|
+
switch (type) {
|
|
77
|
+
case "mobile":
|
|
78
|
+
return (rules.mobilePrefixes?.length ?? 0) > 0;
|
|
79
|
+
case "landline":
|
|
80
|
+
return (rules.landlinePrefixes?.length ?? 0) > 0;
|
|
81
|
+
case "voip":
|
|
82
|
+
return (rules.voipPrefixes?.length ?? 0) > 0;
|
|
83
|
+
case "toll-free":
|
|
84
|
+
return (rules.tollFreePrefixes?.length ?? 0) > 0;
|
|
85
|
+
case "premium":
|
|
86
|
+
return (rules.premiumPrefixes?.length ?? 0) > 0;
|
|
87
|
+
case "special":
|
|
88
|
+
return (rules.specialPrefixes?.length ?? 0) > 0;
|
|
89
|
+
default:
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataAccess.js","sourceRoot":"","sources":["../src/dataAccess.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import { PhoneValidationResult } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Validates phone numbers for any country
|
|
4
|
-
*
|
|
5
|
-
* @param input - Phone number in various formats (+91..., 0..., or plain digits)
|
|
6
|
-
* @param defaultCountry - ISO country code (e.g., "IN", "US") used when country cannot be detected
|
|
7
|
-
* @param mobileOnly - If true, only accepts mobile numbers (currently only for India)
|
|
8
|
-
* @returns PhoneValidationResult with validation status and parsed information
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* validatePhoneNumber("+91 98765 43210") // India with country code
|
|
12
|
-
* validatePhoneNumber("09876543210") // India with 0 prefix
|
|
13
|
-
* validatePhoneNumber("9876543210", "IN") // India plain digits
|
|
14
|
-
* validatePhoneNumber("+1 555 123 4567") // US number
|
|
15
|
-
*/
|
|
16
2
|
export declare function validatePhoneNumber(input: string, defaultCountry?: string, mobileOnly?: boolean): PhoneValidationResult;
|
|
17
3
|
export type { PhoneValidationResult, CountryCode } from "./types";
|
|
18
4
|
export { getAllCountryCodes, getCountryDialCode, getCountryCodeByDialCode, } from "./utils";
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAgC,MAAM,SAAS,CAAC;AAa9E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,GAAE,OAAe,GAC1B,qBAAqB,CA0MvB;AAGD,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,22 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getCountryCodeByDialCode = exports.getCountryDialCode = exports.getAllCountryCodes = void 0;
|
|
7
7
|
exports.validatePhoneNumber = validatePhoneNumber;
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
|
+
const phoneTypes_1 = require("./phoneTypes");
|
|
10
|
+
const dataAccess_1 = require("./dataAccess");
|
|
9
11
|
const CountryCodes_json_1 = __importDefault(require("./CountryCodes.json"));
|
|
10
12
|
const COUNTRY_CODES = CountryCodes_json_1.default;
|
|
11
|
-
/**
|
|
12
|
-
* Validates phone numbers for any country
|
|
13
|
-
*
|
|
14
|
-
* @param input - Phone number in various formats (+91..., 0..., or plain digits)
|
|
15
|
-
* @param defaultCountry - ISO country code (e.g., "IN", "US") used when country cannot be detected
|
|
16
|
-
* @param mobileOnly - If true, only accepts mobile numbers (currently only for India)
|
|
17
|
-
* @returns PhoneValidationResult with validation status and parsed information
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* validatePhoneNumber("+91 98765 43210") // India with country code
|
|
21
|
-
* validatePhoneNumber("09876543210") // India with 0 prefix
|
|
22
|
-
* validatePhoneNumber("9876543210", "IN") // India plain digits
|
|
23
|
-
* validatePhoneNumber("+1 555 123 4567") // US number
|
|
24
|
-
*/
|
|
25
13
|
function validatePhoneNumber(input, defaultCountry, mobileOnly = false) {
|
|
26
14
|
if (!input || typeof input !== "string") {
|
|
27
15
|
return { isValid: false };
|
|
@@ -84,108 +72,34 @@ function validatePhoneNumber(input, defaultCountry, mobileOnly = false) {
|
|
|
84
72
|
if (nationalNumber.length < 4 || nationalNumber.length > 15) {
|
|
85
73
|
return { isValid: false };
|
|
86
74
|
}
|
|
87
|
-
|
|
88
|
-
const validationRules = {
|
|
89
|
-
"1": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // US/Canada
|
|
90
|
-
"7": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Russia/Kazakhstan
|
|
91
|
-
"20": { pattern: /^\d{8,10}$/, minLength: 8, maxLength: 10 }, // Egypt
|
|
92
|
-
"27": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // South Africa
|
|
93
|
-
"30": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Greece
|
|
94
|
-
"31": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Netherlands
|
|
95
|
-
"32": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Belgium
|
|
96
|
-
"33": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // France
|
|
97
|
-
"34": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Spain
|
|
98
|
-
"36": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Hungary
|
|
99
|
-
"39": { pattern: /^\d{9,10}$/, minLength: 9, maxLength: 10 }, // Italy
|
|
100
|
-
"40": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Romania
|
|
101
|
-
"41": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Switzerland
|
|
102
|
-
"44": { pattern: /^\d{10,11}$/, minLength: 10, maxLength: 11 }, // UK
|
|
103
|
-
"45": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Denmark
|
|
104
|
-
"46": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Sweden
|
|
105
|
-
"47": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Norway
|
|
106
|
-
"48": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Poland
|
|
107
|
-
"49": { pattern: /^\d{10,11}$/, minLength: 10, maxLength: 11 }, // Germany
|
|
108
|
-
"51": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Peru
|
|
109
|
-
"52": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Mexico
|
|
110
|
-
"53": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Cuba
|
|
111
|
-
"54": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Argentina
|
|
112
|
-
"55": { pattern: /^\d{10,11}$/, minLength: 10, maxLength: 11 }, // Brazil
|
|
113
|
-
"56": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Chile
|
|
114
|
-
"57": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Colombia
|
|
115
|
-
"58": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Venezuela
|
|
116
|
-
"60": { pattern: /^\d{9,10}$/, minLength: 9, maxLength: 10 }, // Malaysia
|
|
117
|
-
"61": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Australia
|
|
118
|
-
"62": { pattern: /^\d{9,11}$/, minLength: 9, maxLength: 11 }, // Indonesia
|
|
119
|
-
"63": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Philippines
|
|
120
|
-
"64": { pattern: /^\d{8,10}$/, minLength: 8, maxLength: 10 }, // New Zealand
|
|
121
|
-
"65": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Singapore
|
|
122
|
-
"66": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Thailand
|
|
123
|
-
"81": { pattern: /^\d{10,11}$/, minLength: 10, maxLength: 11 }, // Japan
|
|
124
|
-
"82": { pattern: /^\d{9,10}$/, minLength: 9, maxLength: 10 }, // South Korea
|
|
125
|
-
"84": { pattern: /^\d{9,10}$/, minLength: 9, maxLength: 10 }, // Vietnam
|
|
126
|
-
"86": { pattern: /^\d{11}$/, minLength: 11, maxLength: 11 }, // China
|
|
127
|
-
"90": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Turkey
|
|
128
|
-
"91": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // India
|
|
129
|
-
"92": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Pakistan
|
|
130
|
-
"93": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Afghanistan
|
|
131
|
-
"94": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Sri Lanka
|
|
132
|
-
"95": { pattern: /^\d{8,10}$/, minLength: 8, maxLength: 10 }, // Myanmar
|
|
133
|
-
"98": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Iran
|
|
134
|
-
"212": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Morocco
|
|
135
|
-
"213": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Algeria
|
|
136
|
-
"234": { pattern: /^\d{10}$/, minLength: 10, maxLength: 10 }, // Nigeria
|
|
137
|
-
"254": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Kenya
|
|
138
|
-
"351": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Portugal
|
|
139
|
-
"352": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Luxembourg
|
|
140
|
-
"353": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Ireland
|
|
141
|
-
"354": { pattern: /^\d{7,9}$/, minLength: 7, maxLength: 9 }, // Iceland
|
|
142
|
-
"358": { pattern: /^\d{6,10}$/, minLength: 6, maxLength: 10 }, // Finland
|
|
143
|
-
"380": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Ukraine
|
|
144
|
-
"420": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Czech Republic
|
|
145
|
-
"421": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Slovakia
|
|
146
|
-
"852": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Hong Kong
|
|
147
|
-
"853": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Macau
|
|
148
|
-
"886": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Taiwan
|
|
149
|
-
"971": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // UAE
|
|
150
|
-
"972": { pattern: /^\d{9}$/, minLength: 9, maxLength: 9 }, // Israel
|
|
151
|
-
"974": { pattern: /^\d{8}$/, minLength: 8, maxLength: 8 }, // Qatar
|
|
152
|
-
};
|
|
153
|
-
const rule = validationRules[countryCode];
|
|
75
|
+
const rule = (0, dataAccess_1.getValidationRules)(countryCode);
|
|
154
76
|
if (rule) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
77
|
+
if (rule.minLength &&
|
|
78
|
+
(nationalNumber.length < rule.minLength ||
|
|
79
|
+
(rule.maxLength && nationalNumber.length > rule.maxLength))) {
|
|
158
80
|
return { isValid: false };
|
|
159
81
|
}
|
|
160
|
-
if (!rule.pattern.test(nationalNumber)) {
|
|
82
|
+
if (rule.pattern && !rule.pattern.test(nationalNumber)) {
|
|
161
83
|
return { isValid: false };
|
|
162
84
|
}
|
|
163
85
|
}
|
|
164
86
|
else {
|
|
165
|
-
// General validation for countries without specific rules: 4-15 digits
|
|
166
87
|
if (!/^\d{4,15}$/.test(nationalNumber)) {
|
|
167
88
|
return { isValid: false };
|
|
168
89
|
}
|
|
169
90
|
}
|
|
170
|
-
|
|
91
|
+
const phoneType = (0, phoneTypes_1.detectPhoneNumberType)(countryCode, nationalNumber);
|
|
171
92
|
let isMobile;
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
const firstDigit = nationalNumber[0];
|
|
175
|
-
// Indian mobile numbers start with 6, 7, 8, or 9
|
|
176
|
-
if ("6789".includes(firstDigit)) {
|
|
177
|
-
isMobile = true;
|
|
178
|
-
isFixedLine = false;
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
// Landline numbers typically start with 0-5
|
|
182
|
-
isMobile = false;
|
|
183
|
-
isFixedLine = true;
|
|
184
|
-
}
|
|
93
|
+
if (phoneType === "mobile") {
|
|
94
|
+
isMobile = true;
|
|
185
95
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
96
|
+
else if (phoneType === "landline") {
|
|
97
|
+
isMobile = false;
|
|
98
|
+
}
|
|
99
|
+
if (mobileOnly) {
|
|
100
|
+
if (phoneType !== "mobile") {
|
|
101
|
+
return { isValid: false };
|
|
102
|
+
}
|
|
189
103
|
}
|
|
190
104
|
return {
|
|
191
105
|
isValid: true,
|
|
@@ -193,7 +107,7 @@ function validatePhoneNumber(input, defaultCountry, mobileOnly = false) {
|
|
|
193
107
|
nationalNumber,
|
|
194
108
|
e164: `+${countryCode}${nationalNumber}`,
|
|
195
109
|
isMobile,
|
|
196
|
-
|
|
110
|
+
phoneType,
|
|
197
111
|
country: detectedCountry?.code,
|
|
198
112
|
countryName: detectedCountry?.name,
|
|
199
113
|
};
|
|
@@ -202,4 +116,3 @@ var utils_2 = require("./utils");
|
|
|
202
116
|
Object.defineProperty(exports, "getAllCountryCodes", { enumerable: true, get: function () { return utils_2.getAllCountryCodes; } });
|
|
203
117
|
Object.defineProperty(exports, "getCountryDialCode", { enumerable: true, get: function () { return utils_2.getCountryDialCode; } });
|
|
204
118
|
Object.defineProperty(exports, "getCountryCodeByDialCode", { enumerable: true, get: function () { return utils_2.getCountryCodeByDialCode; } });
|
|
205
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface MobilePrefixRules {
|
|
2
|
+
mobilePrefixes: string[];
|
|
3
|
+
}
|
|
4
|
+
export declare const MOBILE_PREFIX_RULES: Record<string, MobilePrefixRules>;
|
|
5
|
+
/**
|
|
6
|
+
* Check if a number is a mobile number based on country-specific prefix rules
|
|
7
|
+
*
|
|
8
|
+
* @deprecated Use detectPhoneNumberType from phoneTypes.ts instead
|
|
9
|
+
* This function is kept for backward compatibility
|
|
10
|
+
*/
|
|
11
|
+
export declare function isMobileNumber(countryCode: string, nationalNumber: string): boolean | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobilePrefixes.d.ts","sourceRoot":"","sources":["../src/mobilePrefixes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA0fjE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,GAAG,SAAS,CAsCrB"}
|