@yext/phonenumber-util 0.2.6 → 0.2.8
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/package.json +7 -7
- package/src/__tests__/base.test.js +1 -1
- package/src/areaCodeList.js +57 -0
- package/src/compliance.js +1 -0
- package/src/phoneCodes.js +191 -3
- package/src/phoneFormats.js +231 -178
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yext/phonenumber-util",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"author": "bajohnson@hearsaycorp.com",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"description": "Utility for extracting and validating phone numbers",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"make-badges": "istanbul-badges-readme"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@eslint/js": "^9.
|
|
29
|
-
"@vitest/coverage-v8": "^3.
|
|
30
|
-
"eslint": "^9.
|
|
31
|
-
"generate-license-file": "
|
|
28
|
+
"@eslint/js": "^9.24.0",
|
|
29
|
+
"@vitest/coverage-v8": "^3.1.1",
|
|
30
|
+
"eslint": "^9.24.0",
|
|
31
|
+
"generate-license-file": "4.0.0",
|
|
32
32
|
"globals": "^16.0.0",
|
|
33
33
|
"husky": "^9.1.7",
|
|
34
34
|
"istanbul-badges-readme": "^1.9.0",
|
|
35
|
-
"lint-staged": "^15.
|
|
35
|
+
"lint-staged": "^15.5.1",
|
|
36
36
|
"prettier": "^3.5.3",
|
|
37
|
-
"vitest": "^3.
|
|
37
|
+
"vitest": "^3.1.1"
|
|
38
38
|
},
|
|
39
39
|
"eslintConfig": {},
|
|
40
40
|
"lint-staged": {
|
|
@@ -239,7 +239,7 @@ describe('Phone number pretty formatting', () => {
|
|
|
239
239
|
expect(formatPhoneNumber(testNumbers.nullCase)).toBe(null);
|
|
240
240
|
expect(formatPhoneNumber(testNumbers.us)).toBe('(310) 349-6200');
|
|
241
241
|
expect(formatPhoneNumber(testNumbers.colombia)).toBe('+57 321 123 4567');
|
|
242
|
-
expect(formatPhoneNumber(testNumbers.germanyAlt)).toBe('+49
|
|
242
|
+
expect(formatPhoneNumber(testNumbers.germanyAlt)).toBe('+49 170 8765432');
|
|
243
243
|
// This looks like a Norwegian number, but doesn't match a known format. In this case, we'll return a sanitized generic format.
|
|
244
244
|
expect(formatPhoneNumber(testNumbers.norwayUnexpected)).toBe(
|
|
245
245
|
'+47174087654',
|
package/src/areaCodeList.js
CHANGED
|
@@ -81,6 +81,7 @@ export const AREA_CODE_LIST = [
|
|
|
81
81
|
'323',
|
|
82
82
|
'325',
|
|
83
83
|
'326',
|
|
84
|
+
'329',
|
|
84
85
|
'330',
|
|
85
86
|
'331',
|
|
86
87
|
'332',
|
|
@@ -159,6 +160,7 @@ export const AREA_CODE_LIST = [
|
|
|
159
160
|
'480',
|
|
160
161
|
'483',
|
|
161
162
|
'484',
|
|
163
|
+
'500',
|
|
162
164
|
'501',
|
|
163
165
|
'502',
|
|
164
166
|
'503',
|
|
@@ -178,27 +180,57 @@ export const AREA_CODE_LIST = [
|
|
|
178
180
|
'518',
|
|
179
181
|
'519',
|
|
180
182
|
'520',
|
|
183
|
+
'521',
|
|
184
|
+
'522',
|
|
185
|
+
'523',
|
|
186
|
+
'524',
|
|
187
|
+
'525',
|
|
188
|
+
'526',
|
|
189
|
+
'527',
|
|
190
|
+
'528',
|
|
191
|
+
'529',
|
|
181
192
|
'530',
|
|
182
193
|
'531',
|
|
194
|
+
'532',
|
|
195
|
+
'533',
|
|
183
196
|
'534',
|
|
197
|
+
'535',
|
|
198
|
+
'538',
|
|
184
199
|
'539',
|
|
185
200
|
'540',
|
|
186
201
|
'541',
|
|
202
|
+
'542',
|
|
203
|
+
'543',
|
|
204
|
+
'544',
|
|
205
|
+
'545',
|
|
206
|
+
'546',
|
|
207
|
+
'547',
|
|
187
208
|
'548',
|
|
209
|
+
'549',
|
|
210
|
+
'550',
|
|
188
211
|
'551',
|
|
212
|
+
'552',
|
|
213
|
+
'553',
|
|
214
|
+
'554',
|
|
215
|
+
'556',
|
|
189
216
|
'557',
|
|
217
|
+
'558',
|
|
190
218
|
'559',
|
|
191
219
|
'561',
|
|
192
220
|
'562',
|
|
193
221
|
'563',
|
|
194
222
|
'564',
|
|
223
|
+
'566',
|
|
195
224
|
'567',
|
|
225
|
+
'569',
|
|
196
226
|
'570',
|
|
197
227
|
'571',
|
|
198
228
|
'572',
|
|
199
229
|
'573',
|
|
200
230
|
'574',
|
|
201
231
|
'575',
|
|
232
|
+
'577',
|
|
233
|
+
'578',
|
|
202
234
|
'579',
|
|
203
235
|
'580',
|
|
204
236
|
'581',
|
|
@@ -206,6 +238,9 @@ export const AREA_CODE_LIST = [
|
|
|
206
238
|
'585',
|
|
207
239
|
'586',
|
|
208
240
|
'587',
|
|
241
|
+
'588',
|
|
242
|
+
'589',
|
|
243
|
+
'600',
|
|
209
244
|
'601',
|
|
210
245
|
'602',
|
|
211
246
|
'603',
|
|
@@ -226,21 +261,26 @@ export const AREA_CODE_LIST = [
|
|
|
226
261
|
'619',
|
|
227
262
|
'620',
|
|
228
263
|
'621',
|
|
264
|
+
'622',
|
|
229
265
|
'623',
|
|
230
266
|
'626',
|
|
231
267
|
'628',
|
|
232
268
|
'629',
|
|
233
269
|
'630',
|
|
234
270
|
'631',
|
|
271
|
+
'633',
|
|
235
272
|
'636',
|
|
236
273
|
'639',
|
|
237
274
|
'640',
|
|
238
275
|
'641',
|
|
276
|
+
'644',
|
|
277
|
+
'645',
|
|
239
278
|
'646',
|
|
240
279
|
'647',
|
|
241
280
|
'649',
|
|
242
281
|
'650',
|
|
243
282
|
'651',
|
|
283
|
+
'655',
|
|
244
284
|
'656',
|
|
245
285
|
'657',
|
|
246
286
|
'658',
|
|
@@ -254,13 +294,17 @@ export const AREA_CODE_LIST = [
|
|
|
254
294
|
'670',
|
|
255
295
|
'671',
|
|
256
296
|
'672',
|
|
297
|
+
'677',
|
|
257
298
|
'678',
|
|
258
299
|
'679',
|
|
259
300
|
'680',
|
|
260
301
|
'681',
|
|
261
302
|
'682',
|
|
262
303
|
'684',
|
|
304
|
+
'686',
|
|
305
|
+
'688',
|
|
263
306
|
'689',
|
|
307
|
+
'700',
|
|
264
308
|
'701',
|
|
265
309
|
'702',
|
|
266
310
|
'703',
|
|
@@ -270,6 +314,7 @@ export const AREA_CODE_LIST = [
|
|
|
270
314
|
'707',
|
|
271
315
|
'708',
|
|
272
316
|
'709',
|
|
317
|
+
'710',
|
|
273
318
|
'712',
|
|
274
319
|
'713',
|
|
275
320
|
'714',
|
|
@@ -286,6 +331,7 @@ export const AREA_CODE_LIST = [
|
|
|
286
331
|
'727',
|
|
287
332
|
'728',
|
|
288
333
|
'729',
|
|
334
|
+
'730',
|
|
289
335
|
'731',
|
|
290
336
|
'732',
|
|
291
337
|
'734',
|
|
@@ -340,6 +386,7 @@ export const AREA_CODE_LIST = [
|
|
|
340
386
|
'818',
|
|
341
387
|
'819',
|
|
342
388
|
'820',
|
|
389
|
+
'822',
|
|
343
390
|
'825',
|
|
344
391
|
'826',
|
|
345
392
|
'828',
|
|
@@ -381,7 +428,17 @@ export const AREA_CODE_LIST = [
|
|
|
381
428
|
'876',
|
|
382
429
|
'877',
|
|
383
430
|
'878',
|
|
431
|
+
'880',
|
|
432
|
+
'881',
|
|
433
|
+
'882',
|
|
434
|
+
'883',
|
|
435
|
+
'884',
|
|
436
|
+
'885',
|
|
437
|
+
'886',
|
|
438
|
+
'887',
|
|
384
439
|
'888',
|
|
440
|
+
'889',
|
|
441
|
+
'900',
|
|
385
442
|
'901',
|
|
386
443
|
'902',
|
|
387
444
|
'903',
|
package/src/compliance.js
CHANGED
|
@@ -17,6 +17,7 @@ export const CRTC_QUIET_HOURS = {
|
|
|
17
17
|
|
|
18
18
|
// The strings of CRTC_STATES must match the `name` field found within AREA_CODES object in phoneCodes.js.
|
|
19
19
|
export const CRTC_STATES = [
|
|
20
|
+
'Canadian Special Services',
|
|
20
21
|
'Alberta',
|
|
21
22
|
'British Columbia',
|
|
22
23
|
'Manitoba',
|
package/src/phoneCodes.js
CHANGED
|
@@ -5,12 +5,194 @@ const CANADA = { name: 'Canada', code: 'CA', flag: '🇨🇦' };
|
|
|
5
5
|
export const AREA_CODES = {
|
|
6
6
|
// Toll Free / Not Geographic
|
|
7
7
|
800: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
8
|
+
822: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
8
9
|
833: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
9
10
|
844: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
10
|
-
888: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
11
|
-
877: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
12
|
-
866: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
13
11
|
855: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
12
|
+
866: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
13
|
+
877: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
14
|
+
880: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
15
|
+
881: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
16
|
+
882: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
17
|
+
883: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
18
|
+
884: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
19
|
+
885: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
20
|
+
886: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
21
|
+
887: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
22
|
+
888: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
23
|
+
889: { name: 'Toll-free', region: { name: 'United States', code: 'US' } },
|
|
24
|
+
900: {
|
|
25
|
+
name: 'Premium Call Services',
|
|
26
|
+
region: { name: 'United States', code: 'US' },
|
|
27
|
+
},
|
|
28
|
+
500: {
|
|
29
|
+
name: 'Personal Communication Service',
|
|
30
|
+
region: { name: 'United States', code: 'US' },
|
|
31
|
+
},
|
|
32
|
+
521: {
|
|
33
|
+
name: 'Personal Communication Service',
|
|
34
|
+
region: { name: 'United States', code: 'US' },
|
|
35
|
+
},
|
|
36
|
+
522: {
|
|
37
|
+
name: 'Personal Communication Service',
|
|
38
|
+
region: { name: 'United States', code: 'US' },
|
|
39
|
+
},
|
|
40
|
+
523: {
|
|
41
|
+
name: 'Personal Communication Service',
|
|
42
|
+
region: { name: 'United States', code: 'US' },
|
|
43
|
+
},
|
|
44
|
+
524: {
|
|
45
|
+
name: 'Personal Communication Service',
|
|
46
|
+
region: { name: 'United States', code: 'US' },
|
|
47
|
+
},
|
|
48
|
+
525: {
|
|
49
|
+
name: 'Personal Communication Service',
|
|
50
|
+
region: { name: 'United States', code: 'US' },
|
|
51
|
+
},
|
|
52
|
+
526: {
|
|
53
|
+
name: 'Personal Communication Service',
|
|
54
|
+
region: { name: 'United States', code: 'US' },
|
|
55
|
+
},
|
|
56
|
+
527: {
|
|
57
|
+
name: 'Personal Communication Service',
|
|
58
|
+
region: { name: 'United States', code: 'US' },
|
|
59
|
+
},
|
|
60
|
+
528: {
|
|
61
|
+
name: 'Personal Communication Service',
|
|
62
|
+
region: { name: 'United States', code: 'US' },
|
|
63
|
+
},
|
|
64
|
+
529: {
|
|
65
|
+
name: 'Personal Communication Service',
|
|
66
|
+
region: { name: 'United States', code: 'US' },
|
|
67
|
+
},
|
|
68
|
+
532: {
|
|
69
|
+
name: 'Personal Communication Service',
|
|
70
|
+
region: { name: 'United States', code: 'US' },
|
|
71
|
+
},
|
|
72
|
+
533: {
|
|
73
|
+
name: 'Personal Communication Service',
|
|
74
|
+
region: { name: 'United States', code: 'US' },
|
|
75
|
+
},
|
|
76
|
+
535: {
|
|
77
|
+
name: 'Personal Communication Service',
|
|
78
|
+
region: { name: 'United States', code: 'US' },
|
|
79
|
+
},
|
|
80
|
+
538: {
|
|
81
|
+
name: 'Personal Communication Service',
|
|
82
|
+
region: { name: 'United States', code: 'US' },
|
|
83
|
+
},
|
|
84
|
+
542: {
|
|
85
|
+
name: 'Personal Communication Service',
|
|
86
|
+
region: { name: 'United States', code: 'US' },
|
|
87
|
+
},
|
|
88
|
+
543: {
|
|
89
|
+
name: 'Personal Communication Service',
|
|
90
|
+
region: { name: 'United States', code: 'US' },
|
|
91
|
+
},
|
|
92
|
+
544: {
|
|
93
|
+
name: 'Personal Communication Service',
|
|
94
|
+
region: { name: 'United States', code: 'US' },
|
|
95
|
+
},
|
|
96
|
+
545: {
|
|
97
|
+
name: 'Personal Communication Service',
|
|
98
|
+
region: { name: 'United States', code: 'US' },
|
|
99
|
+
},
|
|
100
|
+
546: {
|
|
101
|
+
name: 'Personal Communication Service',
|
|
102
|
+
region: { name: 'United States', code: 'US' },
|
|
103
|
+
},
|
|
104
|
+
547: {
|
|
105
|
+
name: 'Personal Communication Service',
|
|
106
|
+
region: { name: 'United States', code: 'US' },
|
|
107
|
+
},
|
|
108
|
+
549: {
|
|
109
|
+
name: 'Personal Communication Service',
|
|
110
|
+
region: { name: 'United States', code: 'US' },
|
|
111
|
+
},
|
|
112
|
+
550: {
|
|
113
|
+
name: 'Personal Communication Service',
|
|
114
|
+
region: { name: 'United States', code: 'US' },
|
|
115
|
+
},
|
|
116
|
+
552: {
|
|
117
|
+
name: 'Personal Communication Service',
|
|
118
|
+
region: { name: 'United States', code: 'US' },
|
|
119
|
+
},
|
|
120
|
+
553: {
|
|
121
|
+
name: 'Personal Communication Service',
|
|
122
|
+
region: { name: 'United States', code: 'US' },
|
|
123
|
+
},
|
|
124
|
+
554: {
|
|
125
|
+
name: 'Personal Communication Service',
|
|
126
|
+
region: { name: 'United States', code: 'US' },
|
|
127
|
+
},
|
|
128
|
+
556: {
|
|
129
|
+
name: 'Personal Communication Service',
|
|
130
|
+
region: { name: 'United States', code: 'US' },
|
|
131
|
+
},
|
|
132
|
+
558: {
|
|
133
|
+
name: 'Personal Communication Service',
|
|
134
|
+
region: { name: 'United States', code: 'US' },
|
|
135
|
+
},
|
|
136
|
+
566: {
|
|
137
|
+
name: 'Personal Communication Service',
|
|
138
|
+
region: { name: 'United States', code: 'US' },
|
|
139
|
+
},
|
|
140
|
+
569: {
|
|
141
|
+
name: 'Personal Communication Service',
|
|
142
|
+
region: { name: 'United States', code: 'US' },
|
|
143
|
+
},
|
|
144
|
+
577: {
|
|
145
|
+
name: 'Personal Communication Service',
|
|
146
|
+
region: { name: 'United States', code: 'US' },
|
|
147
|
+
},
|
|
148
|
+
578: {
|
|
149
|
+
name: 'Personal Communication Service',
|
|
150
|
+
region: { name: 'United States', code: 'US' },
|
|
151
|
+
},
|
|
152
|
+
588: {
|
|
153
|
+
name: 'Personal Communication Service',
|
|
154
|
+
region: { name: 'United States', code: 'US' },
|
|
155
|
+
},
|
|
156
|
+
589: {
|
|
157
|
+
name: 'Personal Communication Service',
|
|
158
|
+
region: { name: 'United States', code: 'US' },
|
|
159
|
+
},
|
|
160
|
+
600: {
|
|
161
|
+
name: 'Canadian Special Services',
|
|
162
|
+
region: { name: 'Canada', code: 'CA' },
|
|
163
|
+
},
|
|
164
|
+
622: {
|
|
165
|
+
name: 'Canadian Special Services',
|
|
166
|
+
region: { name: 'Canada', code: 'CA' },
|
|
167
|
+
},
|
|
168
|
+
633: {
|
|
169
|
+
name: 'Canadian Special Services',
|
|
170
|
+
region: { name: 'Canada', code: 'CA' },
|
|
171
|
+
},
|
|
172
|
+
644: {
|
|
173
|
+
name: 'Canadian Special Services',
|
|
174
|
+
region: { name: 'Canada', code: 'CA' },
|
|
175
|
+
},
|
|
176
|
+
655: {
|
|
177
|
+
name: 'Canadian Special Services',
|
|
178
|
+
region: { name: 'Canada', code: 'CA' },
|
|
179
|
+
},
|
|
180
|
+
677: {
|
|
181
|
+
name: 'Canadian Special Services',
|
|
182
|
+
region: { name: 'Canada', code: 'CA' },
|
|
183
|
+
},
|
|
184
|
+
688: {
|
|
185
|
+
name: 'Canadian Special Services',
|
|
186
|
+
region: { name: 'Canada', code: 'CA' },
|
|
187
|
+
},
|
|
188
|
+
700: {
|
|
189
|
+
name: 'Interexchange carrier-specific services',
|
|
190
|
+
region: { name: 'United States', code: 'US' },
|
|
191
|
+
},
|
|
192
|
+
710: {
|
|
193
|
+
name: 'US Government Special Services',
|
|
194
|
+
region: { name: 'United States', code: 'US' },
|
|
195
|
+
},
|
|
14
196
|
// US Numbers
|
|
15
197
|
205: { name: 'Alabama', code: 'AL', region: UNITED_STATES },
|
|
16
198
|
251: { name: 'Alabama', code: 'AL', region: UNITED_STATES },
|
|
@@ -88,6 +270,7 @@ export const AREA_CODES = {
|
|
|
88
270
|
407: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
89
271
|
448: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
90
272
|
561: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
273
|
+
645: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
91
274
|
656: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
92
275
|
689: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
93
276
|
727: { name: 'Florida', code: 'FL', region: UNITED_STATES },
|
|
@@ -124,6 +307,7 @@ export const AREA_CODES = {
|
|
|
124
307
|
618: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
125
308
|
630: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
126
309
|
708: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
310
|
+
730: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
127
311
|
773: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
128
312
|
779: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
129
313
|
815: { name: 'Illinois', code: 'IL', region: UNITED_STATES },
|
|
@@ -227,6 +411,7 @@ export const AREA_CODES = {
|
|
|
227
411
|
575: { name: 'New Mexico', code: 'NM', region: UNITED_STATES },
|
|
228
412
|
212: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
229
413
|
315: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
414
|
+
329: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
230
415
|
332: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
231
416
|
347: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
232
417
|
363: { name: 'New York', code: 'NY', region: UNITED_STATES },
|
|
@@ -346,6 +531,7 @@ export const AREA_CODES = {
|
|
|
346
531
|
434: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
347
532
|
540: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
348
533
|
571: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
534
|
+
686: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
349
535
|
703: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
350
536
|
757: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
351
537
|
804: { name: 'Virginia', code: 'VA', region: UNITED_STATES },
|
|
@@ -470,6 +656,7 @@ export const REGION_CODES = {
|
|
|
470
656
|
54: { name: 'Argentina', code: 'AR', flag: '🇦🇷' },
|
|
471
657
|
374: { name: 'Armenia', code: 'AM', flag: '🇦🇲' },
|
|
472
658
|
297: { name: 'Aruba', code: 'AW', flag: '🇦🇼' },
|
|
659
|
+
247: { name: 'Ascension Island', code: 'AC', flag: '🇦🇨' },
|
|
473
660
|
43: { name: 'Austria', code: 'AT', flag: '🇦🇹' },
|
|
474
661
|
994: { name: 'Azerbaijan', code: 'AZ', flag: '🇦🇿' },
|
|
475
662
|
973: { name: 'Bahrain', code: 'BH', flag: '🇧🇭' },
|
|
@@ -529,6 +716,7 @@ export const REGION_CODES = {
|
|
|
529
716
|
350: { name: 'Gibraltar', code: 'GI', flag: '🇬🇮' },
|
|
530
717
|
30: { name: 'Greece', code: 'GR', flag: '🇬🇷' },
|
|
531
718
|
299: { name: 'Greenland', code: 'GL', flag: '🇬🇱' },
|
|
719
|
+
473: { name: 'Grenada', code: 'GD', flag: '🇬🇩' },
|
|
532
720
|
502: { name: 'Guatemala', code: 'GT', flag: '🇬🇹' },
|
|
533
721
|
224: { name: 'Guinea', code: 'GN', flag: '🇬🇳' },
|
|
534
722
|
245: { name: 'Guinea-Bissau', code: 'GW', flag: '🇬🇼' },
|
package/src/phoneFormats.js
CHANGED
|
@@ -1,214 +1,267 @@
|
|
|
1
1
|
// For each region, provide a pretty format. Some regions may have multiple formats, in which case an array can be used. Each "x" will be replaced with a digit when the number of digits matches the number of "x"s in the format.
|
|
2
2
|
// If no format is found with a correct matching length, a sanitized e164 is returned as a fall-back.
|
|
3
3
|
export const PHONE_FORMATS = {
|
|
4
|
-
1: '(xxx) xxx-xxxx', //
|
|
5
|
-
7: '+x xxx xxx-xx-xx', // Russia
|
|
6
|
-
20: '+xx
|
|
4
|
+
1: '(xxx) xxx-xxxx', // US, Canada, and NANP regions
|
|
5
|
+
7: '+x xxx xxx-xx-xx', // Russia, Kazakhstan
|
|
6
|
+
20: '+xx xxx xxx xxxx', // Egypt
|
|
7
7
|
27: '+xx xx xxx xxxx', // South Africa
|
|
8
8
|
30: '+xx xxx xxx xxxx', // Greece
|
|
9
|
-
31: '+xx xx
|
|
9
|
+
31: '+xx xx xxxxxxxx', // Netherlands
|
|
10
10
|
32: '+xx xxx xx xx xx', // Belgium
|
|
11
11
|
33: '+xx x xx xx xx xx', // France
|
|
12
|
-
34: '+xx xxx
|
|
13
|
-
36: '+xx
|
|
12
|
+
34: '+xx xxx xxx xxx', // Spain
|
|
13
|
+
36: '+xx xxx xxx xxx', // Hungary
|
|
14
14
|
39: '+xx xxx xxx xxxx', // Italy
|
|
15
|
-
40: '+xx xxx xxx
|
|
16
|
-
41: '+xx
|
|
17
|
-
43:
|
|
18
|
-
|
|
15
|
+
40: '+xx xxx xxx xxx', // Romania
|
|
16
|
+
41: '+xx xxx xxx xx xx', // Switzerland
|
|
17
|
+
43: [
|
|
18
|
+
'+xx xxxx xxx-xxx', // 10 digits (mobile)
|
|
19
|
+
'+xx xxxx xxx-xxxx', // 11 digits
|
|
20
|
+
], // Austria
|
|
21
|
+
44: [
|
|
22
|
+
'+xx xxxx xxxxxx', // 10 digits (landline)
|
|
23
|
+
'+xx xxxxx xxxxxx', // 11 digits (mobile)
|
|
24
|
+
], // United Kingdom
|
|
19
25
|
45: '+xx xx xx xx xx', // Denmark
|
|
20
|
-
46: '+xx xx
|
|
26
|
+
46: '+xx xx-xxx xx xx', // Sweden
|
|
21
27
|
47: '+xx xxx xx xxx', // Norway
|
|
22
28
|
48: '+xx xxx xxx xxx', // Poland
|
|
23
29
|
49: [
|
|
24
|
-
'+xx
|
|
25
|
-
'+xx
|
|
26
|
-
'+xx xx xxxxxxxx',
|
|
27
|
-
'+xx xxx xxxxxxxx',
|
|
30
|
+
'+xx xxx xxxxxxx', // 10 digits (standard)
|
|
31
|
+
'+xx xxxx xxxxxxxx', // 11 digits (mobile)
|
|
28
32
|
], // Germany
|
|
29
33
|
51: '+xx xxx xxx xxx', // Peru
|
|
30
|
-
52:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
52: [
|
|
35
|
+
'+xx xxx xxx xxxx', // 10 digits (standard)
|
|
36
|
+
'+xx xx xx xxxx xxxx', // 12 digits (with area code)
|
|
37
|
+
], // Mexico
|
|
38
|
+
53: '+xx x xxx xxxx', // Cuba
|
|
39
|
+
54: [
|
|
40
|
+
'+xx xxx-xxx-xxxx', // 10 digits (mobile and Buenos Aires)
|
|
41
|
+
'+xx xxxx-xx-xxxx', // 11 digits (mobile with 9 prefix)
|
|
42
|
+
], // Argentina
|
|
43
|
+
55: [
|
|
44
|
+
'+xx xx xxxx-xxxx', // 10 digits (standard)
|
|
45
|
+
'+xx xx xxxxx-xxxx', // 11 digits (mobile)
|
|
46
|
+
], // Brazil
|
|
34
47
|
56: '+xx x xxxx xxxx', // Chile
|
|
35
48
|
57: '+xx xxx xxx xxxx', // Colombia
|
|
36
|
-
58: '+xx xxx
|
|
37
|
-
60: '+xx xx
|
|
38
|
-
61:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
58: '+xx xxx-xxxxxxx', // Venezuela
|
|
50
|
+
60: '+xx xx-xxx xxxx', // Malaysia
|
|
51
|
+
61: [
|
|
52
|
+
'+xx xx xxxx xxxx', // 10 digits (standard)
|
|
53
|
+
'+xx xxx xxx xxx', // 9 digits (some services)
|
|
54
|
+
], // Australia
|
|
55
|
+
62: [
|
|
56
|
+
'+xx xxx-xxx-xxx', // 9 digits (landline)
|
|
57
|
+
'+xx xxx-xxx-xxxx', // 10-12 digits (mobile)
|
|
58
|
+
], // Indonesia
|
|
59
|
+
63: [
|
|
60
|
+
'+xx xxxx xxxx', // 8 digits (landline)
|
|
61
|
+
'+xx xxxx xxx xxxx', // 11 digits (mobile)
|
|
62
|
+
], // Philippines
|
|
63
|
+
64: '+xx xx xxx xxxx', // New Zealand
|
|
42
64
|
65: '+xx xxxx xxxx', // Singapore
|
|
43
|
-
66:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
65
|
+
66: [
|
|
66
|
+
'+xx xx xxx xxxx', // 9 digits (landline)
|
|
67
|
+
'+xx xxx-xxx-xxxx', // 10 digits (mobile)
|
|
68
|
+
], // Thailand
|
|
69
|
+
81: [
|
|
70
|
+
'+xx xx-xxxx-xxxx', // 10 digits (landline)
|
|
71
|
+
'+xx xxx-xxxx-xxxx', // 11 digits (mobile)
|
|
72
|
+
], // Japan
|
|
73
|
+
82: '+xx xx-xxxx-xxxx', // South Korea
|
|
74
|
+
84: [
|
|
75
|
+
'+xx xx xx xxx xx', // 10 digits (standard)
|
|
76
|
+
'+xx xxx xxxx xxxx', // 11 digits (mobile)
|
|
77
|
+
], // Vietnam
|
|
78
|
+
86: [
|
|
79
|
+
'+xx xxx xxxx xxxx', // 11 digits (mobile)
|
|
80
|
+
'+xx xxxx xxxx xxxx', // 12 digits (special services)
|
|
81
|
+
], // China
|
|
82
|
+
90: '+xx xxx xxx xx xx', // Turkey
|
|
83
|
+
91: [
|
|
84
|
+
'+xx xxxxx xxxxx', // 10 digits (standard)
|
|
85
|
+
'+xx xxxxx xxxxxx', // 11 digits (with area code)
|
|
86
|
+
], // India
|
|
50
87
|
92: '+xx xxx xxx xxxx', // Pakistan
|
|
51
88
|
93: '+xx xx xxx xxxx', // Afghanistan
|
|
52
89
|
94: '+xx xx xxx xxxx', // Sri Lanka
|
|
53
|
-
95: '+xx
|
|
90
|
+
95: '+xx xx xxx xxxx', // Myanmar
|
|
54
91
|
98: '+xx xxx xxx xxxx', // Iran
|
|
55
|
-
211: '+xxx xxx xxxx', // South Sudan
|
|
56
|
-
212: '+xxx
|
|
57
|
-
213: '+xxx xx xx xx', // Algeria
|
|
58
|
-
216: '+xxx xx xxx', // Tunisia
|
|
59
|
-
218: '+xxx xx xxx
|
|
92
|
+
211: '+xxx xx xxx xxxx', // South Sudan
|
|
93
|
+
212: '+xxx xxx xx xx xx', // Morocco
|
|
94
|
+
213: '+xxx xx xx xx xx', // Algeria
|
|
95
|
+
216: '+xxx xx xxx xxx', // Tunisia
|
|
96
|
+
218: '+xxx xx xxx xxxx', // Libya
|
|
60
97
|
220: '+xxx xxx xxxx', // Gambia
|
|
61
|
-
221: '+xxx
|
|
62
|
-
222: '+xxx
|
|
63
|
-
223: '+xxx
|
|
98
|
+
221: '+xxx xx xxx xx xx', // Senegal
|
|
99
|
+
222: '+xxx xxxx xxxx', // Mauritania
|
|
100
|
+
223: '+xxx xxxx xxxx', // Mali
|
|
64
101
|
224: '+xxx xxx xxx xxx', // Guinea
|
|
65
|
-
225: '+xxx xx xx xx
|
|
102
|
+
225: '+xxx xx xx xx xxxx', // Côte d'Ivoire
|
|
66
103
|
226: '+xxx xx xx xx xx', // Burkina Faso
|
|
67
104
|
227: '+xxx xx xx xx xx', // Niger
|
|
68
|
-
228: '+xxx
|
|
105
|
+
228: '+xxx xx xxx xxx', // Togo
|
|
69
106
|
229: '+xxx xx xx xx xx', // Benin
|
|
70
107
|
230: '+xxx xxxx xxxx', // Mauritius
|
|
71
|
-
231: '+xxx xx
|
|
72
|
-
232: '+xxx xxx
|
|
73
|
-
233: '+xxx xxx xxxx', // Ghana
|
|
74
|
-
234: '+xxx xxx
|
|
108
|
+
231: '+xxx xx xxx xxxx', // Liberia
|
|
109
|
+
232: '+xxx xx xxx xxx', // Sierra Leone
|
|
110
|
+
233: '+xxx xxx xxx xxxx', // Ghana
|
|
111
|
+
234: '+xxx xxx xxx xxxx', // Nigeria
|
|
75
112
|
235: '+xxx xx xx xx xx', // Chad
|
|
76
113
|
236: '+xxx xx xx xx xx', // Central African Republic
|
|
77
|
-
237: '+xxx
|
|
78
|
-
238: '+xxx
|
|
79
|
-
239: '+xxx
|
|
80
|
-
240: '+xxx xxx
|
|
81
|
-
241: '+xxx
|
|
82
|
-
242: '+xxx xxx xxxx
|
|
83
|
-
243: '+xxx xxx
|
|
84
|
-
244: '+xxx xxx
|
|
85
|
-
245: '+xxx xxx xxxx
|
|
114
|
+
237: '+xxx xxx xx xx xx', // Cameroon
|
|
115
|
+
238: '+xxx xxx xxxx', // Cape Verde
|
|
116
|
+
239: '+xxx xx xxxxx', // São Tomé and Príncipe
|
|
117
|
+
240: '+xxx xxx xxx xxx', // Equatorial Guinea
|
|
118
|
+
241: '+xxx x xx xx xx', // Gabon
|
|
119
|
+
242: '+xxx xx xxx xxxx', // Republic of the Congo
|
|
120
|
+
243: '+xxx xxx xxx xxx', // Democratic Republic of the Congo
|
|
121
|
+
244: '+xxx xxx xxx xxx', // Angola
|
|
122
|
+
245: '+xxx xxx xxxx', // Guinea-Bissau
|
|
86
123
|
246: '+xxx xxx xxxx', // British Indian Ocean Territory
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
124
|
+
247: '+xxx xxxxx', // Ascension Island
|
|
125
|
+
248: '+xxx x xx xx xx', // Seychelles
|
|
126
|
+
249: '+xxx xx xxx xxxx', // Sudan
|
|
127
|
+
250: '+xxx xxx xxx xxx', // Rwanda
|
|
128
|
+
251: '+xxx xx xxx xxxx', // Ethiopia
|
|
129
|
+
252: '+xxx xx xxx xxx', // Somalia
|
|
130
|
+
253: '+xxx xx xx xx xx', // Djibouti
|
|
131
|
+
254: '+xxx xxx xxx xxx', // Kenya
|
|
132
|
+
255: '+xxx xxx xxx xxx', // Tanzania
|
|
133
|
+
256: '+xxx xxx xxx xxx', // Uganda
|
|
134
|
+
257: '+xxx xx xx xxxx', // Burundi
|
|
135
|
+
258: '+xxx xx xxx xxxx', // Mozambique
|
|
136
|
+
260: '+xxx xx xxx xxxx', // Zambia
|
|
137
|
+
261: '+xxx xx xx xxx xx', // Madagascar
|
|
138
|
+
262: '+xxx xxx xx xx xx', // Réunion, Mayotte
|
|
139
|
+
263: '+xxx xx xxx xxxx', // Zimbabwe
|
|
140
|
+
264: '+xxx xx xxx xxxx', // Namibia
|
|
141
|
+
265: '+xxx xxx xx xx xx', // Malawi
|
|
142
|
+
266: '+xxx xx xxx xxx', // Lesotho
|
|
143
|
+
267: '+xxx xx xxx xxx', // Botswana
|
|
144
|
+
268: '+xxx xxxx xxxx', // Eswatini
|
|
145
|
+
269: '+xxx xxx xx xx', // Comoros
|
|
146
|
+
290: '+xxx xxxx', // Saint Helena
|
|
147
|
+
291: '+xxx x xxx xxx', // Eritrea
|
|
148
|
+
295: '+xxx xxx xxxx', // San Marino
|
|
149
|
+
297: '+xxx xxx xxxx', // Aruba
|
|
110
150
|
298: '+xxx xxx xxx', // Faroe Islands
|
|
111
|
-
299: '+xxx
|
|
112
|
-
350: '+xxx
|
|
113
|
-
351: '+xxx xxx
|
|
114
|
-
352: '+xxx xxx
|
|
115
|
-
353:
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
151
|
+
299: '+xxx xx xx xx', // Greenland
|
|
152
|
+
350: '+xxx xxxx xxxx', // Gibraltar
|
|
153
|
+
351: '+xxx xxx xxx xxx', // Portugal
|
|
154
|
+
352: '+xxx xxx xxx xxx', // Luxembourg
|
|
155
|
+
353: [
|
|
156
|
+
'+xxx xxx xxx xxxx', // 10 digits (standard)
|
|
157
|
+
'+xxx xxx xxx xxxxx', // 11 digits (some services)
|
|
158
|
+
], // Ireland
|
|
159
|
+
354: '+xxx xxx xxxx', // Iceland
|
|
160
|
+
355: '+xxx xx xxx xxxx', // Albania
|
|
161
|
+
356: '+xxx xxxx xxxx', // Malta
|
|
162
|
+
357: '+xxx xx xxxxxx', // Cyprus
|
|
163
|
+
358: ['+xxx xxx xxx xxxx', '+xxx xx xxx xxxx'], // Finland
|
|
164
|
+
359: '+xxx xxx xxx xxx', // Bulgaria
|
|
165
|
+
370: '+xxx xxx xxxxx', // Lithuania
|
|
166
|
+
371: '+xxx xxxx xxxx', // Latvia
|
|
167
|
+
372: ['+xxx xxxx xxxx', '+xxx xxx xxxx'], // Estonia
|
|
168
|
+
373: '+xxx xxx xx xxx', // Moldova
|
|
169
|
+
374: '+xxx xx xxx xxx', // Armenia
|
|
170
|
+
375: '+xxx xx xxx-xx-xx', // Belarus
|
|
171
|
+
376: '+xxx xxx xxx', // Andorra
|
|
172
|
+
377: '+xxx xxxx xxx xxx', // Monaco
|
|
173
|
+
378: '+xxx xxx xx xx xx', // San Marino
|
|
174
|
+
379: '+xxx xx xxxxxx', // Vatican City
|
|
175
|
+
380: '+xxx xxx xxx xxxx', // Ukraine
|
|
176
|
+
381: '+xxx xx xxx xxxx', // Serbia
|
|
177
|
+
382: '+xxx xx xxx xxx', // Montenegro
|
|
178
|
+
383: '+xxx xx xxx xxx', // Kosovo
|
|
179
|
+
385: '+xxx xx xxx xxxx', // Croatia
|
|
180
|
+
386: '+xxx xx xxx xxx', // Slovenia
|
|
181
|
+
387: '+xxx xx xxx xxx', // Bosnia and Herzegovina
|
|
182
|
+
389: '+xxx xx xxx xxx', // North Macedonia
|
|
183
|
+
420: '+xxx xxx xxx xxx', // Czech Republic
|
|
184
|
+
421: '+xxx xxx xxx xxx', // Slovakia
|
|
185
|
+
423: '+xxx xxx xxx xx xx', // Liechtenstein
|
|
186
|
+
473: '+x xxx xxx xxxx', // Grenada
|
|
187
|
+
500: '+xxx xxxxx', // Falkland Islands
|
|
188
|
+
501: '+xxx xxx-xxxx', // Belize
|
|
189
|
+
502: '+xxx x xxx xxxx', // Guatemala
|
|
146
190
|
503: '+xxx xxxx xxxx', // El Salvador
|
|
147
|
-
504: '+xxx xxxx
|
|
191
|
+
504: '+xxx xxxx-xxxx', // Honduras
|
|
148
192
|
505: '+xxx xxxx xxxx', // Nicaragua
|
|
149
193
|
506: '+xxx xxxx xxxx', // Costa Rica
|
|
150
|
-
507: '+xxx xxxx
|
|
151
|
-
508: '+xxx
|
|
194
|
+
507: '+xxx xxxx-xxxx', // Panama
|
|
195
|
+
508: '+xxx xx xx xx', // Saint Pierre and Miquelon
|
|
152
196
|
509: '+xxx xxxx xxxx', // Haiti
|
|
153
|
-
590: '+xxx
|
|
154
|
-
591: '+xxx xxx xxxx
|
|
155
|
-
592: '+xxx
|
|
156
|
-
593: '+xxx xxx xxxx
|
|
157
|
-
594: '+xxx xxxx
|
|
158
|
-
595: '+xxx xxx
|
|
159
|
-
596: '+xxx
|
|
160
|
-
597: '+xxx xxxx
|
|
161
|
-
598: '+xxx xxx
|
|
162
|
-
599:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
197
|
+
590: '+xxx (xxx) xxx-xxxx', // Guadeloupe, Saint Barthélemy, Saint Martin
|
|
198
|
+
591: '+xxx x xxx xxxx', // Bolivia
|
|
199
|
+
592: '+xxx xxx xxxx', // Guyana
|
|
200
|
+
593: '+xxx xx xxx xxxx', // Ecuador
|
|
201
|
+
594: '+xxx xxxx xx xx xx', // French Guiana
|
|
202
|
+
595: '+xxx xxx xxx xxx', // Paraguay
|
|
203
|
+
596: '+xxx (xxx) xxx-xxxx', // Martinique
|
|
204
|
+
597: '+xxx xxx-xxxx', // Suriname
|
|
205
|
+
598: '+xxx x xxx xx xx', // Uruguay
|
|
206
|
+
599: [
|
|
207
|
+
'+xxx x xxx xxxx', // Netherlands Antilles format 1
|
|
208
|
+
'+xxx xxx xxxx', // Netherlands Antilles format 2
|
|
209
|
+
],
|
|
210
|
+
670: '+xxx xxxx xxxx', // Timor-Leste
|
|
211
|
+
672: [
|
|
212
|
+
'+xxx xxxxx', // Norfolk Island
|
|
213
|
+
'+xxx xx xxxx', // Australian External Territories
|
|
214
|
+
],
|
|
215
|
+
673: '+xxx xxx xxxx', // Brunei
|
|
216
|
+
674: '+xxx xxx xxxx', // Nauru
|
|
217
|
+
675: '+xxx xxx xxxx', // Papua New Guinea
|
|
218
|
+
676: '+xxx xxxxx', // Tonga
|
|
219
|
+
677: '+xxx xxxxxxx', // Solomon Islands
|
|
220
|
+
678: '+xxx xx xxxxx', // Vanuatu
|
|
221
|
+
679: '+xxx xxx xxxx', // Fiji
|
|
222
|
+
680: '+xxx xxx xxxx', // Palau
|
|
223
|
+
681: '+xxx xx xx xx', // Wallis and Futuna
|
|
224
|
+
682: '+xxx xx xxx', // Cook Islands
|
|
225
|
+
683: '+xxx xxxx', // Niue
|
|
226
|
+
685: '+xxx xxxxx', // Samoa
|
|
227
|
+
686: '+xxx xxxxx', // Kiribati
|
|
228
|
+
687: '+xxx xx.xx.xx', // New Caledonia
|
|
229
|
+
688: '+xxx xxxxx', // Tuvalu
|
|
230
|
+
689: '+xxx xx xx xx', // French Polynesia
|
|
231
|
+
690: '+xxx xxxx', // Tokelau
|
|
232
|
+
691: '+xxx xxx xxxx', // Micronesia
|
|
233
|
+
692: '+xxx xxx xxxx', // Marshall Islands
|
|
234
|
+
850: '+xxx xx xxx xxxx', // North Korea
|
|
235
|
+
852: '+xxx xxxx xxxx', // Hong Kong
|
|
236
|
+
853: '+xxx xxxx xxxx', // Macau
|
|
237
|
+
855: '+xxx xx xxx xxx', // Cambodia
|
|
238
|
+
856: '+xxx xx xx xxx xxx', // Laos
|
|
239
|
+
880: '+xxx xxxx-xxxxxx', // Bangladesh
|
|
240
|
+
886: '+xxx xxxx-xxx-xxx', // Taiwan
|
|
241
|
+
960: '+xxx xxx-xxxx', // Maldives
|
|
242
|
+
961: '+xxx xx xxx xxx', // Lebanon
|
|
243
|
+
962: '+xxx x xxxx xxxx', // Jordan
|
|
244
|
+
963: '+xxx xx xxxx xxx', // Syria
|
|
245
|
+
964: '+xxx xxxx xxx xxxx', // Iraq
|
|
246
|
+
965: '+xxx xxxx xxxx', // Kuwait
|
|
247
|
+
966: '+xxx xx xxx xxxx', // Saudi Arabia
|
|
248
|
+
967: '+xxx xxx xxx xxx', // Yemen
|
|
249
|
+
968: '+xxx xxxx xxxx', // Oman
|
|
250
|
+
970: '+xxx xxx xx xxxx', // Palestine
|
|
251
|
+
971: '+xxx xx xxx xxxx', // United Arab Emirates
|
|
252
|
+
972: [
|
|
253
|
+
'+xxx xx-xxx-xxxx', // 9 digits (standard)
|
|
254
|
+
'+xxx xxx-xxx-xxxx', // 10 digits (mobile)
|
|
255
|
+
], // Israel
|
|
256
|
+
973: '+xxx xxxx xxxx', // Bahrain
|
|
257
|
+
974: '+xxx xxxx xxxx', // Qatar
|
|
258
|
+
975: '+xxx x xxx xxxx', // Bhutan
|
|
259
|
+
976: '+xxx xxxx xxxx', // Mongolia
|
|
260
|
+
977: '+xxx xxx-xxxxxxx', // Nepal
|
|
261
|
+
992: ['+xxx xxx xx xxxx', '+xxx xxx xxx xxxx'], // Tajikistan
|
|
262
|
+
993: '+xxx xx xxxxxx', // Turkmenistan
|
|
263
|
+
994: '+xxx xx xxx xx xx', // Azerbaijan
|
|
264
|
+
995: '+xxx xxx xxx xxx', // Georgia
|
|
265
|
+
996: '+xxx xxx xxx xxx', // Kyrgyzstan
|
|
266
|
+
998: ['+xxx xx xxx xx xx', '+xxx xx xxxxxxx'], // Uzbekistan
|
|
214
267
|
};
|