global-phone-validator 1.1.1 → 1.2.0
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 +57 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,16 +27,33 @@ Test the package directly in your browser with RunKit:
|
|
|
27
27
|
|
|
28
28
|
**[▶️ Try on RunKit](https://npm.runkit.com/global-phone-validator)**
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
> **Note:** If you get a 503 error, RunKit may be temporarily unavailable or the latest version may still be indexing. Try again in a few minutes, or test locally using the code below.
|
|
31
|
+
|
|
32
|
+
### Quick Test Code
|
|
33
|
+
|
|
34
|
+
You can paste this code in RunKit or run it locally:
|
|
31
35
|
|
|
32
36
|
```javascript
|
|
33
37
|
const { validatePhoneNumber } = require("global-phone-validator");
|
|
34
38
|
|
|
35
39
|
// Test various countries
|
|
36
|
-
validatePhoneNumber("+91 98765 43210"); // India
|
|
37
|
-
validatePhoneNumber("+1 555 123 4567"); // USA
|
|
38
|
-
validatePhoneNumber("+44 20 7946 0958"); // UK
|
|
39
|
-
validatePhoneNumber("+49
|
|
40
|
+
console.log(validatePhoneNumber("+91 98765 43210")); // India - Mobile
|
|
41
|
+
console.log(validatePhoneNumber("+1 555 123 4567")); // USA
|
|
42
|
+
console.log(validatePhoneNumber("+44 20 7946 0958")); // UK
|
|
43
|
+
console.log(validatePhoneNumber("+49 176 77274194")); // Germany - Mobile
|
|
44
|
+
console.log(validatePhoneNumber("+49 30 12345678")); // Germany - Landline
|
|
45
|
+
console.log(validatePhoneNumber("+61 2 1234 5678")); // Australia
|
|
46
|
+
console.log(validatePhoneNumber("+86 138 0013 8000")); // China
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Test Locally
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Install the package
|
|
53
|
+
npm install global-phone-validator
|
|
54
|
+
|
|
55
|
+
# Create a test file
|
|
56
|
+
node -e "const {validatePhoneNumber} = require('global-phone-validator'); console.log(validatePhoneNumber('+91 98765 43210'));"
|
|
40
57
|
```
|
|
41
58
|
|
|
42
59
|
## Usage
|
|
@@ -68,6 +85,18 @@ console.log(result2.isValid); // true
|
|
|
68
85
|
const result3 = validatePhoneNumber("9876543210", "IN");
|
|
69
86
|
console.log(result3.isValid); // true
|
|
70
87
|
|
|
88
|
+
// Auto-detection from country code (no defaultCountry needed)
|
|
89
|
+
const result3a = validatePhoneNumber("+4917677274194");
|
|
90
|
+
console.log(result3a.isValid); // true - Auto-detects Germany from +49
|
|
91
|
+
console.log(result3a.country); // "DE" (Germany)
|
|
92
|
+
|
|
93
|
+
// Country matching validation (strict mode with defaultCountry)
|
|
94
|
+
const result3b = validatePhoneNumber("+4917677274194", "IN");
|
|
95
|
+
console.log(result3b.isValid); // false - Germany number doesn't match IN
|
|
96
|
+
|
|
97
|
+
const result3c = validatePhoneNumber("+4917677274194", "DE");
|
|
98
|
+
console.log(result3c.isValid); // true - Germany number matches DE
|
|
99
|
+
|
|
71
100
|
// US number
|
|
72
101
|
const result4 = validatePhoneNumber("+1 555 123 4567");
|
|
73
102
|
console.log(result4);
|
|
@@ -123,7 +152,12 @@ Validates a phone number and returns detailed information.
|
|
|
123
152
|
**Parameters:**
|
|
124
153
|
|
|
125
154
|
- `input` (string): Phone number in various formats
|
|
126
|
-
- `defaultCountry` (string, optional): ISO country code (e.g., "IN", "US")
|
|
155
|
+
- `defaultCountry` (string, optional): ISO country code (e.g., "IN", "US").
|
|
156
|
+
- **When number has `+` prefix**:
|
|
157
|
+
- Country is **auto-detected** from the dial code (e.g., `+49` → Germany, `+91` → India)
|
|
158
|
+
- If `defaultCountry` is provided: Validates that detected country **matches** `defaultCountry` (strict mode)
|
|
159
|
+
- If `defaultCountry` is **not provided**: Validates based on the **detected country** from the dial code
|
|
160
|
+
- **When number doesn't have `+` prefix**: `defaultCountry` is **REQUIRED** - no default country is assumed
|
|
127
161
|
- `mobileOnly` (boolean, optional): If true, only accepts mobile numbers (currently only for India). Default: false
|
|
128
162
|
|
|
129
163
|
**Returns:** `PhoneValidationResult`
|
|
@@ -180,8 +214,12 @@ Gets country information by dial code.
|
|
|
180
214
|
The package handles phone numbers in the following formats:
|
|
181
215
|
|
|
182
216
|
1. **International format**: `+91 98765 43210` or `+919876543210`
|
|
183
|
-
|
|
184
|
-
|
|
217
|
+
- Country is auto-detected from the dial code
|
|
218
|
+
- `defaultCountry` parameter is optional (used for strict matching)
|
|
219
|
+
2. **0-prefixed**: `09876543210`
|
|
220
|
+
- **Requires** `defaultCountry` parameter (e.g., `validatePhoneNumber("09876543210", "IN")`)
|
|
221
|
+
3. **Plain digits**: `9876543210`
|
|
222
|
+
- **Requires** `defaultCountry` parameter (e.g., `validatePhoneNumber("9876543210", "IN")`)
|
|
185
223
|
|
|
186
224
|
## Country-Specific Validation
|
|
187
225
|
|
|
@@ -284,7 +322,11 @@ validatePhoneNumber("+1 555 123 4567");
|
|
|
284
322
|
validatePhoneNumber("+44 20 7946 0958");
|
|
285
323
|
// { isValid: true, country: 'GB', e164: '+442079460958', ... }
|
|
286
324
|
|
|
287
|
-
// Germany number
|
|
325
|
+
// Germany number (mobile)
|
|
326
|
+
validatePhoneNumber("+49 17677274194");
|
|
327
|
+
// { isValid: true, country: 'DE', e164: '+4917677274194', ... }
|
|
328
|
+
|
|
329
|
+
// Germany number (landline)
|
|
288
330
|
validatePhoneNumber("+49 30 12345678");
|
|
289
331
|
// { isValid: true, country: 'DE', e164: '+493012345678', ... }
|
|
290
332
|
|
|
@@ -307,6 +349,12 @@ validatePhoneNumber("+86 138 0013 8000");
|
|
|
307
349
|
// Japan number
|
|
308
350
|
validatePhoneNumber("+81 3 1234 5678");
|
|
309
351
|
// { isValid: true, country: 'JP', e164: '+81312345678', ... }
|
|
352
|
+
|
|
353
|
+
// Germany number with different spacing (all formats work)
|
|
354
|
+
validatePhoneNumber("+49 17677274194"); // With space after country code
|
|
355
|
+
validatePhoneNumber("+49 176 77274194"); // With spaces in number
|
|
356
|
+
validatePhoneNumber("+4917677274194"); // No spaces
|
|
357
|
+
// All produce: { isValid: true, country: 'DE', nationalNumber: '17677274194', e164: '+4917677274194', ... }
|
|
310
358
|
```
|
|
311
359
|
|
|
312
360
|
## Why Use This Package?
|
package/dist/index.d.ts
CHANGED
|
@@ -15,5 +15,5 @@ import { PhoneValidationResult } from "./types";
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function validatePhoneNumber(input: string, defaultCountry?: string, mobileOnly?: boolean): PhoneValidationResult;
|
|
17
17
|
export type { PhoneValidationResult, CountryCode } from "./types";
|
|
18
|
-
export { getAllCountryCodes, getCountryDialCode, getCountryCodeByDialCode } from "./utils";
|
|
18
|
+
export { getAllCountryCodes, getCountryDialCode, getCountryCodeByDialCode, } from "./utils";
|
|
19
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,EAAe,MAAM,SAAS,CAAC;AAW7D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAe,MAAM,SAAS,CAAC;AAW7D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,GAAE,OAAe,GAC1B,qBAAqB,CAiMvB;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
|
@@ -22,7 +22,7 @@ const COUNTRY_CODES = CountryCodes_json_1.default;
|
|
|
22
22
|
* validatePhoneNumber("9876543210", "IN") // India plain digits
|
|
23
23
|
* validatePhoneNumber("+1 555 123 4567") // US number
|
|
24
24
|
*/
|
|
25
|
-
function validatePhoneNumber(input, defaultCountry
|
|
25
|
+
function validatePhoneNumber(input, defaultCountry, mobileOnly = false) {
|
|
26
26
|
if (!input || typeof input !== "string") {
|
|
27
27
|
return { isValid: false };
|
|
28
28
|
}
|
|
@@ -40,6 +40,13 @@ function validatePhoneNumber(input, defaultCountry = "IN", mobileOnly = false) {
|
|
|
40
40
|
detectedCountry = detection.country;
|
|
41
41
|
countryCode = detection.dialCode;
|
|
42
42
|
nationalNumber = detection.nationalNumber;
|
|
43
|
+
// If defaultCountry is provided, validate that detected country matches
|
|
44
|
+
if (defaultCountry) {
|
|
45
|
+
const expectedDialCode = (0, utils_1.getCountryDialCode)(defaultCountry);
|
|
46
|
+
if (expectedDialCode && countryCode !== expectedDialCode) {
|
|
47
|
+
return { isValid: false };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
43
50
|
}
|
|
44
51
|
else {
|
|
45
52
|
return { isValid: false };
|
|
@@ -47,23 +54,31 @@ function validatePhoneNumber(input, defaultCountry = "IN", mobileOnly = false) {
|
|
|
47
54
|
}
|
|
48
55
|
// Handle 0-prefixed numbers (common in many countries)
|
|
49
56
|
else if (cleaned.startsWith("0")) {
|
|
57
|
+
if (!defaultCountry) {
|
|
58
|
+
return { isValid: false }; // Require defaultCountry for 0-prefixed numbers
|
|
59
|
+
}
|
|
50
60
|
const defaultDialCode = (0, utils_1.getCountryDialCode)(defaultCountry);
|
|
51
61
|
if (!defaultDialCode) {
|
|
52
62
|
return { isValid: false };
|
|
53
63
|
}
|
|
54
64
|
countryCode = defaultDialCode;
|
|
55
65
|
nationalNumber = cleaned.substring(1);
|
|
56
|
-
detectedCountry =
|
|
66
|
+
detectedCountry =
|
|
67
|
+
COUNTRY_CODES.find((c) => c.code.toUpperCase() === defaultCountry.toUpperCase()) || null;
|
|
57
68
|
}
|
|
58
|
-
// Handle plain digits (
|
|
69
|
+
// Handle plain digits (require defaultCountry)
|
|
59
70
|
else {
|
|
71
|
+
if (!defaultCountry) {
|
|
72
|
+
return { isValid: false }; // Require defaultCountry for plain digits
|
|
73
|
+
}
|
|
60
74
|
const defaultDialCode = (0, utils_1.getCountryDialCode)(defaultCountry);
|
|
61
75
|
if (!defaultDialCode) {
|
|
62
76
|
return { isValid: false };
|
|
63
77
|
}
|
|
64
78
|
countryCode = defaultDialCode;
|
|
65
79
|
nationalNumber = cleaned;
|
|
66
|
-
detectedCountry =
|
|
80
|
+
detectedCountry =
|
|
81
|
+
COUNTRY_CODES.find((c) => c.code.toUpperCase() === defaultCountry.toUpperCase()) || null;
|
|
67
82
|
}
|
|
68
83
|
// Validate national number length (general rule: 4-15 digits)
|
|
69
84
|
if (nationalNumber.length < 4 || nationalNumber.length > 15) {
|
|
@@ -138,7 +153,8 @@ function validatePhoneNumber(input, defaultCountry = "IN", mobileOnly = false) {
|
|
|
138
153
|
const rule = validationRules[countryCode];
|
|
139
154
|
if (rule) {
|
|
140
155
|
// Use country-specific validation
|
|
141
|
-
if (nationalNumber.length < rule.minLength ||
|
|
156
|
+
if (nationalNumber.length < rule.minLength ||
|
|
157
|
+
nationalNumber.length > rule.maxLength) {
|
|
142
158
|
return { isValid: false };
|
|
143
159
|
}
|
|
144
160
|
if (!rule.pattern.test(nationalNumber)) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAyBA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "global-phone-validator",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A reusable Node.js + TypeScript package for validating phone numbers worldwide. Supports any country using CountryCodes JSON, handles international formats (+CC), 0-prefixed, and plain digits. Includes mobile/landline detection for India and returns standardized E.164 format.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|