global-phone-validator 1.2.1 → 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 +143 -78
- 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 +15 -95
- package/dist/index.js.map +1 -1
- package/dist/mobilePrefixes.d.ts +3 -10
- package/dist/mobilePrefixes.d.ts.map +1 -1
- package/dist/mobilePrefixes.js +372 -143
- package/dist/mobilePrefixes.js.map +1 -1
- 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 -1
- 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 +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobilePrefixes.js","sourceRoot":"","sources":["../src/mobilePrefixes.ts"],"names":[],"mappings":";AAAA;;;
|
|
1
|
+
{"version":3,"file":"mobilePrefixes.js","sourceRoot":"","sources":["../src/mobilePrefixes.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAwgBH,wCAyCC;AA3iBY,QAAA,mBAAmB,GAAsC;IACpE,kCAAkC;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrC;IAED,4EAA4E;IAC5E,IAAI,EAAE;QACJ,cAAc,EAAE;YACd,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN;KACF;IAED,mFAAmF;IACnF,GAAG,EAAE;QACH,cAAc,EAAE,EAAE,EAAE,iDAAiD;KACtE;IAED,kCAAkC;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,yBAAyB;IACzB,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4BAA4B;IAC5B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,0EAA0E;IAC1E,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,kEAAkE;KAC1F;IAED,yDAAyD;IACzD,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D;IAED,kCAAkC;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACnC;IAED,oDAAoD;IACpD,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACrD;IAED,yBAAyB;IACzB,GAAG,EAAE;QACH,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,0BAA0B;IAC1B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,sCAAsC;IACtC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C;IAED,0BAA0B;IAC1B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4BAA4B;IAC5B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,kCAAkC;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,4BAA4B;IAC5B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,gCAAgC;IAChC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,wBAAwB;IACxB,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,sCAAsC;IACtC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,kCAAkC;IAClC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,4CAA4C;IAC5C,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4BAA4B;IAC5B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,yBAAyB;IACzB,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,wDAAwD;IACxD,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,oCAAoC;IACpC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,2BAA2B;IAC3B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,oEAAoE;IACpE,IAAI,EAAE;QACJ,cAAc,EAAE;YACd,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;SACL;KACF;IAED,yCAAyC;IACzC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACzC;IAED,kCAAkC;IAClC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,4DAA4D;IAC5D,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACvE;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,gDAAgD;IAChD,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC/C;IAED,kCAAkC;IAClC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,yCAAyC;IACzC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACzC;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,oEAAoE;IACpE,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,0CAA0C;IAC1C,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACzC;IAED,yCAAyC;IACzC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4BAA4B;IAC5B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,sCAAsC;IACtC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,gDAAgD;IAChD,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzD;IAED,sCAAsC;IACtC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACzC;IAED,4BAA4B;IAC5B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,0BAA0B;IAC1B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4CAA4C;IAC5C,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC/C;IAED,kCAAkC;IAClC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,yBAAyB;IACzB,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,4BAA4B;IAC5B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,qEAAqE;IACrE,gEAAgE;IAEhE,0BAA0B;IAC1B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,iCAAiC;IACjC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAChC;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KAC7B;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,mCAAmC;IACnC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACrC;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,iCAAiC;IACjC,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,2BAA2B;IAC3B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,+CAA+C;IAC/C,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACpD;IAED,kCAAkC;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,+BAA+B;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B;IAED,6EAA6E;IAC7E,KAAK,EAAE;QACL,cAAc,EAAE;YACd,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;SACL;KACF;IAED,4BAA4B;IAC5B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,6BAA6B;IAC7B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,GAAG,CAAC;KACtB;CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,WAAmB,EACnB,cAAsB;IAEtB,MAAM,KAAK,GAAG,2BAAmB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,cAAc,EAAE,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/E,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAC5D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAC9B,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,2CAA2C;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,qBAAqB;IACzC,CAAC;IAED,gDAAgD;IAChD,yEAAyE;IACzE,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAC9B,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,4CAA4C;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type PhoneNumberType = "mobile" | "landline" | "voip" | "toll-free" | "premium" | "special" | "unknown";
|
|
2
|
+
export interface PhoneTypeRules {
|
|
3
|
+
mobilePrefixes?: string[];
|
|
4
|
+
landlinePrefixes?: string[];
|
|
5
|
+
voipPrefixes?: string[];
|
|
6
|
+
tollFreePrefixes?: string[];
|
|
7
|
+
premiumPrefixes?: string[];
|
|
8
|
+
specialPrefixes?: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare function detectPhoneNumberType(countryCode: string, nationalNumber: string): PhoneNumberType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoneTypes.d.ts","sourceRoot":"","sources":["../src/phoneTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAwP3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,eAAe,CAuEjB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectPhoneNumberType = detectPhoneNumberType;
|
|
4
|
+
function detectPhoneNumberType(countryCode, nationalNumber) {
|
|
5
|
+
const { getCountryData } = require("./countryData");
|
|
6
|
+
const countryData = getCountryData(countryCode);
|
|
7
|
+
const rules = countryData?.phoneTypes;
|
|
8
|
+
if (!rules) {
|
|
9
|
+
return "unknown";
|
|
10
|
+
}
|
|
11
|
+
// Check prefixes in priority order: toll-free, premium, voip, special, mobile, landline
|
|
12
|
+
// This ensures special service numbers are detected before general mobile/landline
|
|
13
|
+
// 1. Check toll-free first (highest priority)
|
|
14
|
+
if (rules.tollFreePrefixes) {
|
|
15
|
+
const sortedTollFree = [...rules.tollFreePrefixes].sort((a, b) => b.length - a.length);
|
|
16
|
+
for (const prefix of sortedTollFree) {
|
|
17
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
18
|
+
return "toll-free";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (rules.premiumPrefixes) {
|
|
23
|
+
const sortedPremium = [...rules.premiumPrefixes].sort((a, b) => b.length - a.length);
|
|
24
|
+
for (const prefix of sortedPremium) {
|
|
25
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
26
|
+
return "premium";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (rules.voipPrefixes) {
|
|
31
|
+
const sortedVoip = [...rules.voipPrefixes].sort((a, b) => b.length - a.length);
|
|
32
|
+
for (const prefix of sortedVoip) {
|
|
33
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
34
|
+
return "voip";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (rules.specialPrefixes) {
|
|
39
|
+
const sortedSpecial = [...rules.specialPrefixes].sort((a, b) => b.length - a.length);
|
|
40
|
+
for (const prefix of sortedSpecial) {
|
|
41
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
42
|
+
return "special";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (rules.mobilePrefixes) {
|
|
47
|
+
const sortedMobile = [...rules.mobilePrefixes].sort((a, b) => b.length - a.length);
|
|
48
|
+
for (const prefix of sortedMobile) {
|
|
49
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
50
|
+
return "mobile";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (rules.landlinePrefixes) {
|
|
55
|
+
const sortedLandline = [...rules.landlinePrefixes].sort((a, b) => b.length - a.length);
|
|
56
|
+
for (const prefix of sortedLandline) {
|
|
57
|
+
if (nationalNumber.startsWith(prefix)) {
|
|
58
|
+
return "landline";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return "unknown";
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoneTypes.js","sourceRoot":"","sources":["../src/phoneTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
export type PhoneNumberType = "mobile" | "landline" | "voip" | "toll-free" | "premium" | "special" | "unknown";
|
|
1
2
|
export interface PhoneValidationResult {
|
|
2
3
|
isValid: boolean;
|
|
3
4
|
countryCode?: string;
|
|
4
5
|
nationalNumber?: string;
|
|
5
6
|
e164?: string;
|
|
6
7
|
isMobile?: boolean;
|
|
8
|
+
phoneType?: PhoneNumberType;
|
|
7
9
|
country?: string;
|
|
8
10
|
countryName?: string;
|
|
9
11
|
}
|
|
@@ -12,4 +14,3 @@ export interface CountryCode {
|
|
|
12
14
|
dial_code: string;
|
|
13
15
|
code: string;
|
|
14
16
|
}
|
|
15
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
package/dist/types.js
CHANGED
package/dist/utils.d.ts
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
1
|
import { CountryCode } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Get country dial code by country code (e.g., "IN" -> "91")
|
|
4
|
-
*/
|
|
5
2
|
export declare function getCountryDialCode(countryCode: string): string | null;
|
|
6
|
-
/**
|
|
7
|
-
* Get country code by dial code (e.g., "91" -> CountryCode for India)
|
|
8
|
-
*/
|
|
9
3
|
export declare function getCountryCodeByDialCode(dialCode: string): CountryCode | null;
|
|
10
|
-
/**
|
|
11
|
-
* Find country code from phone number by matching dial codes
|
|
12
|
-
* Returns the longest matching dial code
|
|
13
|
-
*/
|
|
14
4
|
export declare function detectCountryFromPhoneNumber(phoneNumber: string): {
|
|
15
5
|
country: CountryCode | null;
|
|
16
6
|
dialCode: string;
|
|
17
7
|
nationalNumber: string;
|
|
18
8
|
};
|
|
19
|
-
/**
|
|
20
|
-
* Clean phone number by removing spaces, dashes, parentheses, etc.
|
|
21
|
-
*/
|
|
22
9
|
export declare function cleanPhoneNumber(input: string): string;
|
|
23
|
-
/**
|
|
24
|
-
* Get all country codes
|
|
25
|
-
*/
|
|
26
10
|
export declare function getAllCountryCodes(): CountryCode[];
|
|
27
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.js
CHANGED
|
@@ -10,36 +10,35 @@ exports.cleanPhoneNumber = cleanPhoneNumber;
|
|
|
10
10
|
exports.getAllCountryCodes = getAllCountryCodes;
|
|
11
11
|
const CountryCodes_json_1 = __importDefault(require("./CountryCodes.json"));
|
|
12
12
|
const COUNTRY_CODES = CountryCodes_json_1.default;
|
|
13
|
-
/**
|
|
14
|
-
* Get country dial code by country code (e.g., "IN" -> "91")
|
|
15
|
-
*/
|
|
16
13
|
function getCountryDialCode(countryCode) {
|
|
17
14
|
const country = COUNTRY_CODES.find((c) => c.code.toUpperCase() === countryCode.toUpperCase());
|
|
18
15
|
return country ? country.dial_code.replace("+", "") : null;
|
|
19
16
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Get country code by dial code (e.g., "91" -> CountryCode for India)
|
|
22
|
-
*/
|
|
23
17
|
function getCountryCodeByDialCode(dialCode) {
|
|
24
18
|
const normalizedDialCode = dialCode.replace("+", "");
|
|
25
|
-
|
|
19
|
+
const matches = COUNTRY_CODES.filter((c) => c.dial_code.replace("+", "") === normalizedDialCode);
|
|
20
|
+
if (matches.length === 0)
|
|
21
|
+
return null;
|
|
22
|
+
if (matches.length === 1)
|
|
23
|
+
return matches[0];
|
|
24
|
+
const preferred = ["US", "GB", "CA", "AU"];
|
|
25
|
+
for (const code of preferred) {
|
|
26
|
+
const match = matches.find((c) => c.code === code);
|
|
27
|
+
if (match)
|
|
28
|
+
return match;
|
|
29
|
+
}
|
|
30
|
+
return matches[0];
|
|
26
31
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Find country code from phone number by matching dial codes
|
|
29
|
-
* Returns the longest matching dial code
|
|
30
|
-
*/
|
|
31
32
|
function detectCountryFromPhoneNumber(phoneNumber) {
|
|
32
33
|
const cleaned = phoneNumber.replace(/[^0-9+]/g, "");
|
|
33
34
|
if (!cleaned.startsWith("+")) {
|
|
34
35
|
return { country: null, dialCode: "", nationalNumber: cleaned };
|
|
35
36
|
}
|
|
36
|
-
// Try to match dial codes from longest to shortest (1-4 digits)
|
|
37
37
|
for (let len = 4; len >= 1; len--) {
|
|
38
38
|
const potentialDialCode = cleaned.substring(1, 1 + len);
|
|
39
39
|
const country = getCountryCodeByDialCode(potentialDialCode);
|
|
40
40
|
if (country) {
|
|
41
41
|
const nationalNumber = cleaned.substring(1 + len);
|
|
42
|
-
// Basic sanity check: national number should be at least 4 digits
|
|
43
42
|
if (nationalNumber.length >= 4) {
|
|
44
43
|
return {
|
|
45
44
|
country,
|
|
@@ -51,16 +50,9 @@ function detectCountryFromPhoneNumber(phoneNumber) {
|
|
|
51
50
|
}
|
|
52
51
|
return { country: null, dialCode: "", nationalNumber: cleaned.substring(1) };
|
|
53
52
|
}
|
|
54
|
-
/**
|
|
55
|
-
* Clean phone number by removing spaces, dashes, parentheses, etc.
|
|
56
|
-
*/
|
|
57
53
|
function cleanPhoneNumber(input) {
|
|
58
54
|
return input.replace(/\s+/g, "").replace(/[^0-9+]/g, "");
|
|
59
55
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Get all country codes
|
|
62
|
-
*/
|
|
63
56
|
function getAllCountryCodes() {
|
|
64
57
|
return COUNTRY_CODES;
|
|
65
58
|
}
|
|
66
|
-
//# sourceMappingURL=utils.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "global-phone-validator",
|
|
3
|
-
"version": "1.2
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.3.2",
|
|
4
|
+
"description": "Comprehensive phone number validator for all countries. Validates mobile, landline, VoIP, toll-free, and premium numbers. Supports 50+ countries with type detection. Returns E.164 format.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|