line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# automatically generated file, don't edit |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
# Copyright 2023 David Cantrell, derived from data from libphonenumber |
6
|
|
|
|
|
|
|
# http://code.google.com/p/libphonenumber/ |
7
|
|
|
|
|
|
|
# |
8
|
|
|
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
9
|
|
|
|
|
|
|
# you may not use this file except in compliance with the License. |
10
|
|
|
|
|
|
|
# You may obtain a copy of the License at |
11
|
|
|
|
|
|
|
# |
12
|
|
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0 |
13
|
|
|
|
|
|
|
# |
14
|
|
|
|
|
|
|
# Unless required by applicable law or agreed to in writing, software |
15
|
|
|
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS, |
16
|
|
|
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
17
|
|
|
|
|
|
|
# See the License for the specific language governing permissions and |
18
|
|
|
|
|
|
|
# limitations under the License. |
19
|
|
|
|
|
|
|
package Number::Phone::StubCountry::ID; |
20
|
2
|
|
|
2
|
|
1369
|
use base qw(Number::Phone::StubCountry); |
|
2
|
|
|
|
|
7
|
|
|
2
|
|
|
|
|
228
|
|
21
|
|
|
|
|
|
|
|
22
|
2
|
|
|
2
|
|
19
|
use strict; |
|
2
|
|
|
|
|
9
|
|
|
2
|
|
|
|
|
47
|
|
23
|
2
|
|
|
2
|
|
13
|
use warnings; |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
50
|
|
24
|
2
|
|
|
2
|
|
15
|
use utf8; |
|
2
|
|
|
|
|
7
|
|
|
2
|
|
|
|
|
11
|
|
25
|
|
|
|
|
|
|
our $VERSION = 1.20230614174403; |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
my $formatters = [ |
28
|
|
|
|
|
|
|
{ |
29
|
|
|
|
|
|
|
'format' => '$1 $2 $3', |
30
|
|
|
|
|
|
|
'leading_digits' => '15', |
31
|
|
|
|
|
|
|
'pattern' => '(\\d)(\\d{3})(\\d{3})' |
32
|
|
|
|
|
|
|
}, |
33
|
|
|
|
|
|
|
{ |
34
|
|
|
|
|
|
|
'format' => '$1 $2', |
35
|
|
|
|
|
|
|
'leading_digits' => ' |
36
|
|
|
|
|
|
|
2[124]| |
37
|
|
|
|
|
|
|
[36]1 |
38
|
|
|
|
|
|
|
', |
39
|
|
|
|
|
|
|
'national_rule' => '(0$1)', |
40
|
|
|
|
|
|
|
'pattern' => '(\\d{2})(\\d{5,9})' |
41
|
|
|
|
|
|
|
}, |
42
|
|
|
|
|
|
|
{ |
43
|
|
|
|
|
|
|
'format' => '$1 $2', |
44
|
|
|
|
|
|
|
'leading_digits' => '800', |
45
|
|
|
|
|
|
|
'national_rule' => '0$1', |
46
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{5,7})' |
47
|
|
|
|
|
|
|
}, |
48
|
|
|
|
|
|
|
{ |
49
|
|
|
|
|
|
|
'format' => '$1 $2', |
50
|
|
|
|
|
|
|
'leading_digits' => '[2-79]', |
51
|
|
|
|
|
|
|
'national_rule' => '(0$1)', |
52
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{5,8})' |
53
|
|
|
|
|
|
|
}, |
54
|
|
|
|
|
|
|
{ |
55
|
|
|
|
|
|
|
'format' => '$1-$2-$3', |
56
|
|
|
|
|
|
|
'leading_digits' => '8[1-35-9]', |
57
|
|
|
|
|
|
|
'national_rule' => '0$1', |
58
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{3,4})(\\d{3})' |
59
|
|
|
|
|
|
|
}, |
60
|
|
|
|
|
|
|
{ |
61
|
|
|
|
|
|
|
'format' => '$1 $2', |
62
|
|
|
|
|
|
|
'leading_digits' => '1', |
63
|
|
|
|
|
|
|
'national_rule' => '0$1', |
64
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{6,8})' |
65
|
|
|
|
|
|
|
}, |
66
|
|
|
|
|
|
|
{ |
67
|
|
|
|
|
|
|
'format' => '$1 $2 $3', |
68
|
|
|
|
|
|
|
'leading_digits' => '804', |
69
|
|
|
|
|
|
|
'national_rule' => '0$1', |
70
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{3})(\\d{4})' |
71
|
|
|
|
|
|
|
}, |
72
|
|
|
|
|
|
|
{ |
73
|
|
|
|
|
|
|
'format' => '$1 $2 $3 $4', |
74
|
|
|
|
|
|
|
'leading_digits' => '80', |
75
|
|
|
|
|
|
|
'national_rule' => '0$1', |
76
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})' |
77
|
|
|
|
|
|
|
}, |
78
|
|
|
|
|
|
|
{ |
79
|
|
|
|
|
|
|
'format' => '$1-$2-$3', |
80
|
|
|
|
|
|
|
'leading_digits' => '8', |
81
|
|
|
|
|
|
|
'national_rule' => '0$1', |
82
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})' |
83
|
|
|
|
|
|
|
}, |
84
|
|
|
|
|
|
|
{ |
85
|
|
|
|
|
|
|
'format' => '$1 $2 $3 $4', |
86
|
|
|
|
|
|
|
'intl_format' => 'NA', |
87
|
|
|
|
|
|
|
'leading_digits' => '001', |
88
|
|
|
|
|
|
|
'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})' |
89
|
|
|
|
|
|
|
}, |
90
|
|
|
|
|
|
|
{ |
91
|
|
|
|
|
|
|
'format' => '$1 $2 $3 $4', |
92
|
|
|
|
|
|
|
'intl_format' => 'NA', |
93
|
|
|
|
|
|
|
'pattern' => '(\\d{2})(\\d{4})(\\d{3})(\\d{4})' |
94
|
|
|
|
|
|
|
} |
95
|
|
|
|
|
|
|
]; |
96
|
|
|
|
|
|
|
|
97
|
|
|
|
|
|
|
my $validators = { |
98
|
|
|
|
|
|
|
'fixed_line' => ' |
99
|
|
|
|
|
|
|
2[124]\\d{7,8}| |
100
|
|
|
|
|
|
|
619\\d{8}| |
101
|
|
|
|
|
|
|
2(?: |
102
|
|
|
|
|
|
|
1(?: |
103
|
|
|
|
|
|
|
14| |
104
|
|
|
|
|
|
|
500 |
105
|
|
|
|
|
|
|
)| |
106
|
|
|
|
|
|
|
2\\d{3} |
107
|
|
|
|
|
|
|
)\\d{3}| |
108
|
|
|
|
|
|
|
61\\d{5,8}| |
109
|
|
|
|
|
|
|
(?: |
110
|
|
|
|
|
|
|
2(?: |
111
|
|
|
|
|
|
|
[35][1-4]| |
112
|
|
|
|
|
|
|
6[0-8]| |
113
|
|
|
|
|
|
|
7[1-6]| |
114
|
|
|
|
|
|
|
8\\d| |
115
|
|
|
|
|
|
|
9[1-8] |
116
|
|
|
|
|
|
|
)| |
117
|
|
|
|
|
|
|
3(?: |
118
|
|
|
|
|
|
|
1| |
119
|
|
|
|
|
|
|
[25][1-8]| |
120
|
|
|
|
|
|
|
3[1-68]| |
121
|
|
|
|
|
|
|
4[1-3]| |
122
|
|
|
|
|
|
|
6[1-3568]| |
123
|
|
|
|
|
|
|
7[0-469]| |
124
|
|
|
|
|
|
|
8\\d |
125
|
|
|
|
|
|
|
)| |
126
|
|
|
|
|
|
|
4(?: |
127
|
|
|
|
|
|
|
0[1-589]| |
128
|
|
|
|
|
|
|
1[01347-9]| |
129
|
|
|
|
|
|
|
2[0-36-8]| |
130
|
|
|
|
|
|
|
3[0-24-68]| |
131
|
|
|
|
|
|
|
43| |
132
|
|
|
|
|
|
|
5[1-378]| |
133
|
|
|
|
|
|
|
6[1-5]| |
134
|
|
|
|
|
|
|
7[134]| |
135
|
|
|
|
|
|
|
8[1245] |
136
|
|
|
|
|
|
|
)| |
137
|
|
|
|
|
|
|
5(?: |
138
|
|
|
|
|
|
|
1[1-35-9]| |
139
|
|
|
|
|
|
|
2[25-8]| |
140
|
|
|
|
|
|
|
3[124-9]| |
141
|
|
|
|
|
|
|
4[1-3589]| |
142
|
|
|
|
|
|
|
5[1-46]| |
143
|
|
|
|
|
|
|
6[1-8] |
144
|
|
|
|
|
|
|
)| |
145
|
|
|
|
|
|
|
6(?: |
146
|
|
|
|
|
|
|
[25]\\d| |
147
|
|
|
|
|
|
|
3[1-69]| |
148
|
|
|
|
|
|
|
4[1-6] |
149
|
|
|
|
|
|
|
)| |
150
|
|
|
|
|
|
|
7(?: |
151
|
|
|
|
|
|
|
02| |
152
|
|
|
|
|
|
|
[125][1-9]| |
153
|
|
|
|
|
|
|
[36]\\d| |
154
|
|
|
|
|
|
|
4[1-8]| |
155
|
|
|
|
|
|
|
7[0-36-9] |
156
|
|
|
|
|
|
|
)| |
157
|
|
|
|
|
|
|
9(?: |
158
|
|
|
|
|
|
|
0[12]| |
159
|
|
|
|
|
|
|
1[013-8]| |
160
|
|
|
|
|
|
|
2[0-479]| |
161
|
|
|
|
|
|
|
5[125-8]| |
162
|
|
|
|
|
|
|
6[23679]| |
163
|
|
|
|
|
|
|
7[159]| |
164
|
|
|
|
|
|
|
8[01346] |
165
|
|
|
|
|
|
|
) |
166
|
|
|
|
|
|
|
)\\d{5,8} |
167
|
|
|
|
|
|
|
', |
168
|
|
|
|
|
|
|
'geographic' => ' |
169
|
|
|
|
|
|
|
2[124]\\d{7,8}| |
170
|
|
|
|
|
|
|
619\\d{8}| |
171
|
|
|
|
|
|
|
2(?: |
172
|
|
|
|
|
|
|
1(?: |
173
|
|
|
|
|
|
|
14| |
174
|
|
|
|
|
|
|
500 |
175
|
|
|
|
|
|
|
)| |
176
|
|
|
|
|
|
|
2\\d{3} |
177
|
|
|
|
|
|
|
)\\d{3}| |
178
|
|
|
|
|
|
|
61\\d{5,8}| |
179
|
|
|
|
|
|
|
(?: |
180
|
|
|
|
|
|
|
2(?: |
181
|
|
|
|
|
|
|
[35][1-4]| |
182
|
|
|
|
|
|
|
6[0-8]| |
183
|
|
|
|
|
|
|
7[1-6]| |
184
|
|
|
|
|
|
|
8\\d| |
185
|
|
|
|
|
|
|
9[1-8] |
186
|
|
|
|
|
|
|
)| |
187
|
|
|
|
|
|
|
3(?: |
188
|
|
|
|
|
|
|
1| |
189
|
|
|
|
|
|
|
[25][1-8]| |
190
|
|
|
|
|
|
|
3[1-68]| |
191
|
|
|
|
|
|
|
4[1-3]| |
192
|
|
|
|
|
|
|
6[1-3568]| |
193
|
|
|
|
|
|
|
7[0-469]| |
194
|
|
|
|
|
|
|
8\\d |
195
|
|
|
|
|
|
|
)| |
196
|
|
|
|
|
|
|
4(?: |
197
|
|
|
|
|
|
|
0[1-589]| |
198
|
|
|
|
|
|
|
1[01347-9]| |
199
|
|
|
|
|
|
|
2[0-36-8]| |
200
|
|
|
|
|
|
|
3[0-24-68]| |
201
|
|
|
|
|
|
|
43| |
202
|
|
|
|
|
|
|
5[1-378]| |
203
|
|
|
|
|
|
|
6[1-5]| |
204
|
|
|
|
|
|
|
7[134]| |
205
|
|
|
|
|
|
|
8[1245] |
206
|
|
|
|
|
|
|
)| |
207
|
|
|
|
|
|
|
5(?: |
208
|
|
|
|
|
|
|
1[1-35-9]| |
209
|
|
|
|
|
|
|
2[25-8]| |
210
|
|
|
|
|
|
|
3[124-9]| |
211
|
|
|
|
|
|
|
4[1-3589]| |
212
|
|
|
|
|
|
|
5[1-46]| |
213
|
|
|
|
|
|
|
6[1-8] |
214
|
|
|
|
|
|
|
)| |
215
|
|
|
|
|
|
|
6(?: |
216
|
|
|
|
|
|
|
[25]\\d| |
217
|
|
|
|
|
|
|
3[1-69]| |
218
|
|
|
|
|
|
|
4[1-6] |
219
|
|
|
|
|
|
|
)| |
220
|
|
|
|
|
|
|
7(?: |
221
|
|
|
|
|
|
|
02| |
222
|
|
|
|
|
|
|
[125][1-9]| |
223
|
|
|
|
|
|
|
[36]\\d| |
224
|
|
|
|
|
|
|
4[1-8]| |
225
|
|
|
|
|
|
|
7[0-36-9] |
226
|
|
|
|
|
|
|
)| |
227
|
|
|
|
|
|
|
9(?: |
228
|
|
|
|
|
|
|
0[12]| |
229
|
|
|
|
|
|
|
1[013-8]| |
230
|
|
|
|
|
|
|
2[0-479]| |
231
|
|
|
|
|
|
|
5[125-8]| |
232
|
|
|
|
|
|
|
6[23679]| |
233
|
|
|
|
|
|
|
7[159]| |
234
|
|
|
|
|
|
|
8[01346] |
235
|
|
|
|
|
|
|
) |
236
|
|
|
|
|
|
|
)\\d{5,8} |
237
|
|
|
|
|
|
|
', |
238
|
|
|
|
|
|
|
'mobile' => '8[1-35-9]\\d{7,10}', |
239
|
|
|
|
|
|
|
'pager' => '', |
240
|
|
|
|
|
|
|
'personal_number' => '', |
241
|
|
|
|
|
|
|
'specialrate' => '(804\\d{7})|(809\\d{7})|( |
242
|
|
|
|
|
|
|
(?: |
243
|
|
|
|
|
|
|
1500| |
244
|
|
|
|
|
|
|
8071\\d{3} |
245
|
|
|
|
|
|
|
)\\d{3} |
246
|
|
|
|
|
|
|
)', |
247
|
|
|
|
|
|
|
'toll_free' => ' |
248
|
|
|
|
|
|
|
00[17]803\\d{7}| |
249
|
|
|
|
|
|
|
(?: |
250
|
|
|
|
|
|
|
177\\d| |
251
|
|
|
|
|
|
|
800 |
252
|
|
|
|
|
|
|
)\\d{5,7}| |
253
|
|
|
|
|
|
|
001803\\d{6} |
254
|
|
|
|
|
|
|
', |
255
|
|
|
|
|
|
|
'voip' => '' |
256
|
|
|
|
|
|
|
}; |
257
|
|
|
|
|
|
|
my %areanames = (); |
258
|
|
|
|
|
|
|
$areanames{en} = {"62431", "Manado\/Tomohon\/Tondano", |
259
|
|
|
|
|
|
|
"62418", "Takalar", |
260
|
|
|
|
|
|
|
"62293", "Magelang\/Mungkid\/Temanggung", |
261
|
|
|
|
|
|
|
"62380", "Kupang", |
262
|
|
|
|
|
|
|
"62295", "Pati\/Rembang", |
263
|
|
|
|
|
|
|
"62534", "Ketapang", |
264
|
|
|
|
|
|
|
"62289", "Bumiayu", |
265
|
|
|
|
|
|
|
"62326", "Masalembu\ Islands", |
266
|
|
|
|
|
|
|
"62752", "Bukittinggi\/Padang\ Panjang\/Payakumbuh\/Batusangkar", |
267
|
|
|
|
|
|
|
"62372", "Alas\/Taliwang", |
268
|
|
|
|
|
|
|
"62902", "Agats", |
269
|
|
|
|
|
|
|
"62983", "Serui", |
270
|
|
|
|
|
|
|
"62414", "Kepulauan\ Selayar", |
271
|
|
|
|
|
|
|
"62538", "Kuala\ Pembuang", |
272
|
|
|
|
|
|
|
"62352", "Ponorogo", |
273
|
|
|
|
|
|
|
"62772", "Tarempa", |
274
|
|
|
|
|
|
|
"62511", "Banjarmasin", |
275
|
|
|
|
|
|
|
"62231", "Cirebon", |
276
|
|
|
|
|
|
|
"62726", "Menggala", |
277
|
|
|
|
|
|
|
"62737", "Arga\ Makmur\/Mukomuko", |
278
|
|
|
|
|
|
|
"62562", "Singkawang\/Sambas\/Bengkayang", |
279
|
|
|
|
|
|
|
"62915", "Bula", |
280
|
|
|
|
|
|
|
"62913", "Namlea", |
281
|
|
|
|
|
|
|
"62419", "Jeneponto", |
282
|
|
|
|
|
|
|
"62632", "Balige", |
283
|
|
|
|
|
|
|
"62465", "Kolonedale", |
284
|
|
|
|
|
|
|
"62463", "Bunta", |
285
|
|
|
|
|
|
|
"62969", "Wamena", |
286
|
|
|
|
|
|
|
"62484", "Watansoppeng", |
287
|
|
|
|
|
|
|
"62321", "Mojokerto\/Jombang", |
288
|
|
|
|
|
|
|
"62957", "Kaimana", |
289
|
|
|
|
|
|
|
"62401", "Kendari", |
290
|
|
|
|
|
|
|
"62427", "Barru", |
291
|
|
|
|
|
|
|
"62342", "Blitar", |
292
|
|
|
|
|
|
|
"62657", "Bakongan", |
293
|
|
|
|
|
|
|
"62721", "Bandar\ Lampung", |
294
|
|
|
|
|
|
|
"62265", "Tasikmalaya\/Banjar\/Ciamis", |
295
|
|
|
|
|
|
|
"62284", "Pemalang", |
296
|
|
|
|
|
|
|
"62263", "Cianjur", |
297
|
|
|
|
|
|
|
"62742", "Kualatungkal\/Tebing\ Tinggi", |
298
|
|
|
|
|
|
|
"6222", "Bandung\/Cimahi", |
299
|
|
|
|
|
|
|
"6270", "Tebing\ Tinggi", |
300
|
|
|
|
|
|
|
"62539", "Kuala\ Kuayan", |
301
|
|
|
|
|
|
|
"62481", "Watampone", |
302
|
|
|
|
|
|
|
"62324", "Pamekasan", |
303
|
|
|
|
|
|
|
"62728", "Liwa", |
304
|
|
|
|
|
|
|
"62527", "Amuntai", |
305
|
|
|
|
|
|
|
"62343", "Pasuruan", |
306
|
|
|
|
|
|
|
"62536", "Palangkaraya\/Kasongan", |
307
|
|
|
|
|
|
|
"62563", "Ngabang", |
308
|
|
|
|
|
|
|
"62635", "Gunung\ Tua", |
309
|
|
|
|
|
|
|
"62565", "Sintang", |
310
|
|
|
|
|
|
|
"62633", "Tarutung\/Dolok\ Sanggul", |
311
|
|
|
|
|
|
|
"62387", "Waingapu\/Waikabubak", |
312
|
|
|
|
|
|
|
"62462", "Banggai", |
313
|
|
|
|
|
|
|
"62404", "Wanci", |
314
|
|
|
|
|
|
|
"62328", "Sumenep", |
315
|
|
|
|
|
|
|
"62262", "Garut", |
316
|
|
|
|
|
|
|
"62724", "Kotabumi", |
317
|
|
|
|
|
|
|
"62743", "Muara\ Bulian", |
318
|
|
|
|
|
|
|
"62730", "Pagar\ Alam\/Kota\ Agung", |
319
|
|
|
|
|
|
|
"62745", "Sarolangun", |
320
|
|
|
|
|
|
|
"62281", "Banyumas\/Purbalingga", |
321
|
|
|
|
|
|
|
"62966", "Sarmi", |
322
|
|
|
|
|
|
|
"62408", "Unaaha", |
323
|
|
|
|
|
|
|
"62420", "Enrekang", |
324
|
|
|
|
|
|
|
"62755", "Solok", |
325
|
|
|
|
|
|
|
"62729", "Pringsewu", |
326
|
|
|
|
|
|
|
"62434", "Kotamobagu", |
327
|
|
|
|
|
|
|
"62373", "Dompu", |
328
|
|
|
|
|
|
|
"62753", "Lubuk\ Sikaping", |
329
|
|
|
|
|
|
|
"62518", "Kotabaru\/Batulicin", |
330
|
|
|
|
|
|
|
"62717", "Pangkal\ Pinang\/Sungailiat", |
331
|
|
|
|
|
|
|
"62292", "Purwodadi", |
332
|
|
|
|
|
|
|
"62531", "Sampit", |
333
|
|
|
|
|
|
|
"62411", "Makassar\/Maros\/Sungguminasa", |
334
|
|
|
|
|
|
|
"62773", "Ranai", |
335
|
|
|
|
|
|
|
"62353", "Bojonegoro", |
336
|
|
|
|
|
|
|
"62286", "Banjarnegara\/Wonosobo", |
337
|
|
|
|
|
|
|
"62438", "Bitung", |
338
|
|
|
|
|
|
|
"6231", "Surabaya", |
339
|
|
|
|
|
|
|
"62355", "Tulungagung\/Trenggalek", |
340
|
|
|
|
|
|
|
"62650", "Sinabang", |
341
|
|
|
|
|
|
|
"62234", "Indramayu", |
342
|
|
|
|
|
|
|
"62564", "Sanggau", |
343
|
|
|
|
|
|
|
"62296", "Blora", |
344
|
|
|
|
|
|
|
"62634", "Padang\ Sidempuan\/Sipirok", |
345
|
|
|
|
|
|
|
"62620", "Pangkalan\ Brandan", |
346
|
|
|
|
|
|
|
"62405", "Kolaka", |
347
|
|
|
|
|
|
|
"62482", "Sinjai", |
348
|
|
|
|
|
|
|
"62403", "Raha", |
349
|
|
|
|
|
|
|
"62461", "Luwuk", |
350
|
|
|
|
|
|
|
"62323", "Sampang", |
351
|
|
|
|
|
|
|
"62325", "Sangkapura", |
352
|
|
|
|
|
|
|
"62779", "Tanjungbatu", |
353
|
|
|
|
|
|
|
"62911", "Ambon", |
354
|
|
|
|
|
|
|
"62748", "Sungai\ Penuh\/Kerinci", |
355
|
|
|
|
|
|
|
"62568", "Nanga\ Pinoh", |
356
|
|
|
|
|
|
|
"62261", "Sumedang", |
357
|
|
|
|
|
|
|
"62986", "Manokwari", |
358
|
|
|
|
|
|
|
"62767", "Bagansiapiapi", |
359
|
|
|
|
|
|
|
"62725", "Metro", |
360
|
|
|
|
|
|
|
"62282", "East\ Cilacap", |
361
|
|
|
|
|
|
|
"62723", "Blambangan\ Umpu", |
362
|
|
|
|
|
|
|
"62744", "Muara\ Tebo", |
363
|
|
|
|
|
|
|
"62916", "Tual", |
364
|
|
|
|
|
|
|
"62532", "Pangkalan\ Bun", |
365
|
|
|
|
|
|
|
"62291", "Demak\/Jepara\/Kudus", |
366
|
|
|
|
|
|
|
"62778", "Batam", |
367
|
|
|
|
|
|
|
"62358", "Nganjuk", |
368
|
|
|
|
|
|
|
"62435", "Gorontalo", |
369
|
|
|
|
|
|
|
"62374", "Bima", |
370
|
|
|
|
|
|
|
"62754", "Sijunjung", |
371
|
|
|
|
|
|
|
"62513", "Muara\ Teweh", |
372
|
|
|
|
|
|
|
"62233", "Majalengka", |
373
|
|
|
|
|
|
|
"62639", "Gunung\ Sitoli", |
374
|
|
|
|
|
|
|
"62354", "Kediri", |
375
|
|
|
|
|
|
|
"62266", "Sukabumi", |
376
|
|
|
|
|
|
|
"62981", "Biak", |
377
|
|
|
|
|
|
|
"62432", "Tahuna", |
378
|
|
|
|
|
|
|
"62751", "Padang\/Pariaman", |
379
|
|
|
|
|
|
|
"62371", "Sumbawa", |
380
|
|
|
|
|
|
|
"62636", "Panyabungan\/Sibuhuan", |
381
|
|
|
|
|
|
|
"62294", "Kendal", |
382
|
|
|
|
|
|
|
"62627", "Subulussalam\/Sidikalang\/Salak", |
383
|
|
|
|
|
|
|
"62746", "Bangko", |
384
|
|
|
|
|
|
|
"62927", "Labuha", |
385
|
|
|
|
|
|
|
"62901", "Timika", |
386
|
|
|
|
|
|
|
"62457", "Donggala", |
387
|
|
|
|
|
|
|
"62984", "Nabire", |
388
|
|
|
|
|
|
|
"62771", "Tanjung\ Pinang", |
389
|
|
|
|
|
|
|
"62351", "Madiun\/Magetan\/Ngawi", |
390
|
|
|
|
|
|
|
"62512", "Pelaihari", |
391
|
|
|
|
|
|
|
"62232", "Kuningan", |
392
|
|
|
|
|
|
|
"62413", "Bulukumba\/Bantaeng", |
393
|
|
|
|
|
|
|
"62298", "Salatiga\/Ambarawa", |
394
|
|
|
|
|
|
|
"62760", "Teluk\ Kuantan", |
395
|
|
|
|
|
|
|
"62376", "Selong", |
396
|
|
|
|
|
|
|
"62756", "Painan", |
397
|
|
|
|
|
|
|
"62322", "Lamongan", |
398
|
|
|
|
|
|
|
"62631", "Sibolga\/Pandan", |
399
|
|
|
|
|
|
|
"62561", "Pontianak\/Mempawah", |
400
|
|
|
|
|
|
|
"62341", "Malang\/Batu", |
401
|
|
|
|
|
|
|
"62914", "Masohi", |
402
|
|
|
|
|
|
|
"62485", "Sengkang", |
403
|
|
|
|
|
|
|
"6244", "Marisa", |
404
|
|
|
|
|
|
|
"62464", "Ampana", |
405
|
|
|
|
|
|
|
"62402", "Baubau", |
406
|
|
|
|
|
|
|
"62285", "Pekalongan\/Batang\/Comal", |
407
|
|
|
|
|
|
|
"6224", "Semarang\/Demak", |
408
|
|
|
|
|
|
|
"62722", "Tanggamus", |
409
|
|
|
|
|
|
|
"62283", "Tegal\/Brebes", |
410
|
|
|
|
|
|
|
"62264", "Purwakarta\/Cikampek", |
411
|
|
|
|
|
|
|
"62356", "Rembang\/Tuban", |
412
|
|
|
|
|
|
|
"62776", "Dabosingkep", |
413
|
|
|
|
|
|
|
"62918", "Saumlaku", |
414
|
|
|
|
|
|
|
"62741", "Jambi\ City", |
415
|
|
|
|
|
|
|
"62548", "Bontang", |
416
|
|
|
|
|
|
|
"62747", "Muarabungo", |
417
|
|
|
|
|
|
|
"62980", "Ransiki", |
418
|
|
|
|
|
|
|
"62652", "Sabang", |
419
|
|
|
|
|
|
|
"62276", "Boyolali", |
420
|
|
|
|
|
|
|
"62764", "Siak\ Sri\ Indrapura", |
421
|
|
|
|
|
|
|
"62368", "Baturiti", |
422
|
|
|
|
|
|
|
"62422", "Majene", |
423
|
|
|
|
|
|
|
"62952", "Teminabuan", |
424
|
|
|
|
|
|
|
"62525", "Buntok", |
425
|
|
|
|
|
|
|
"62567", "Putussibau", |
426
|
|
|
|
|
|
|
"62626", "Pangururan", |
427
|
|
|
|
|
|
|
"62385", "Labuhanbajo\/Ruteng", |
428
|
|
|
|
|
|
|
"62768", "Tembilahan", |
429
|
|
|
|
|
|
|
"62383", "Larantuka", |
430
|
|
|
|
|
|
|
"62554", "Tanjung\ Redeb", |
431
|
|
|
|
|
|
|
"62260", "Subang", |
432
|
|
|
|
|
|
|
"62732", "Curup", |
433
|
|
|
|
|
|
|
"62271", "Surakarta\/Sukoharjo\/Karanganyar\/Sragen", |
434
|
|
|
|
|
|
|
"62549", "Sangatta", |
435
|
|
|
|
|
|
|
"62777", "Karimun", |
436
|
|
|
|
|
|
|
"62357", "Pacitan", |
437
|
|
|
|
|
|
|
"62921", "Soasiu", |
438
|
|
|
|
|
|
|
"62451", "Palu", |
439
|
|
|
|
|
|
|
"62621", "Tebing\ Tinggi\/Sei\ Rampah", |
440
|
|
|
|
|
|
|
"62757", "Balai\ Selasa", |
441
|
|
|
|
|
|
|
"62251", "Bogor", |
442
|
|
|
|
|
|
|
"62332", "Bondowoso", |
443
|
|
|
|
|
|
|
"62471", "Palopo", |
444
|
|
|
|
|
|
|
"62769", "Rengat\/Air\ Molek", |
445
|
|
|
|
|
|
|
"62642", "Blang\ Kejeren", |
446
|
|
|
|
|
|
|
"62910", "Bandanaira", |
447
|
|
|
|
|
|
|
"62715", "Belinyu", |
448
|
|
|
|
|
|
|
"62713", "Prabumulih\/Talang\ Ubi", |
449
|
|
|
|
|
|
|
"62766", "Bengkalis", |
450
|
|
|
|
|
|
|
"62274", "Yogyakarta", |
451
|
|
|
|
|
|
|
"62551", "Tarakan", |
452
|
|
|
|
|
|
|
"62628", "Kabanjahe\/Sibolangit", |
453
|
|
|
|
|
|
|
"62733", "Lubuklinggau\/Muara\ Beliti", |
454
|
|
|
|
|
|
|
"62924", "Tobelo", |
455
|
|
|
|
|
|
|
"62735", "Baturaja\/Martapura\/Muaradua", |
456
|
|
|
|
|
|
|
"62645", "Lhokseumawe", |
457
|
|
|
|
|
|
|
"62254", "Serang\/Merak", |
458
|
|
|
|
|
|
|
"62366", "Klungkung\/Bangli", |
459
|
|
|
|
|
|
|
"62643", "Takengon", |
460
|
|
|
|
|
|
|
"62624", "Panipahan\/Labuhanbatu", |
461
|
|
|
|
|
|
|
"62297", "Karimun\ Jawa", |
462
|
|
|
|
|
|
|
"62712", "Kayu\ Agung\/Tanjung\ Raja", |
463
|
|
|
|
|
|
|
"62458", "Tentena", |
464
|
|
|
|
|
|
|
"62335", "Probolinggo", |
465
|
|
|
|
|
|
|
"62333", "Banyuwangi", |
466
|
|
|
|
|
|
|
"62474", "Malili", |
467
|
|
|
|
|
|
|
"62653", "Sigli", |
468
|
|
|
|
|
|
|
"62655", "Meulaboh", |
469
|
|
|
|
|
|
|
"6261", "Medan", |
470
|
|
|
|
|
|
|
"62629", "Kutacane", |
471
|
|
|
|
|
|
|
"62267", "Karawang", |
472
|
|
|
|
|
|
|
"62761", "Pekanbaru", |
473
|
|
|
|
|
|
|
"62975", "Tanahmerah", |
474
|
|
|
|
|
|
|
"62556", "Nunukan", |
475
|
|
|
|
|
|
|
"62917", "Dobo", |
476
|
|
|
|
|
|
|
"62541", "Samarinda\/Tenggarong", |
477
|
|
|
|
|
|
|
"62382", "Maumere", |
478
|
|
|
|
|
|
|
"62361", "Denpasar", |
479
|
|
|
|
|
|
|
"62955", "Bintuni", |
480
|
|
|
|
|
|
|
"62423", "Makale\/Rantepao", |
481
|
|
|
|
|
|
|
"62929", "Sanana", |
482
|
|
|
|
|
|
|
"62370", "Mataram\/Praya", |
483
|
|
|
|
|
|
|
"62522", "Ampah", |
484
|
|
|
|
|
|
|
"62552", "Tanjungselor", |
485
|
|
|
|
|
|
|
"62453", "Tolitoli", |
486
|
|
|
|
|
|
|
"62734", "Muara\ Enim", |
487
|
|
|
|
|
|
|
"62338", "Situbondo", |
488
|
|
|
|
|
|
|
"62923", "Morotai", |
489
|
|
|
|
|
|
|
"62275", "Purworejo", |
490
|
|
|
|
|
|
|
"62967", "Jayapura", |
491
|
|
|
|
|
|
|
"62273", "Wonogiri", |
492
|
|
|
|
|
|
|
"62417", "Malino", |
493
|
|
|
|
|
|
|
"62526", "Tamiang\ Layang\/Tanjung", |
494
|
|
|
|
|
|
|
"62711", "Palembang", |
495
|
|
|
|
|
|
|
"62537", "Kuala\ Kurun", |
496
|
|
|
|
|
|
|
"62738", "Muara\ Aman", |
497
|
|
|
|
|
|
|
"62334", "Lumajang", |
498
|
|
|
|
|
|
|
"62473", "Masamba", |
499
|
|
|
|
|
|
|
"62253", "Pandeglang", |
500
|
|
|
|
|
|
|
"62386", "Kalabahi", |
501
|
|
|
|
|
|
|
"62644", "Bireuen", |
502
|
|
|
|
|
|
|
"6221", "Greater\ Jakarta", |
503
|
|
|
|
|
|
|
"62623", "Kisaran\/Tanjung\ Balai", |
504
|
|
|
|
|
|
|
"62659", "Blangpidie", |
505
|
|
|
|
|
|
|
"62625", "Parapat\/Ajibata\/Simanindo", |
506
|
|
|
|
|
|
|
"62428", "Polewali", |
507
|
|
|
|
|
|
|
"62287", "Kebumen\/Karanganyar", |
508
|
|
|
|
|
|
|
"62654", "Calang", |
509
|
|
|
|
|
|
|
"62762", "Bangkinang\/Pasir\ Pengaraian", |
510
|
|
|
|
|
|
|
"62381", "Ende", |
511
|
|
|
|
|
|
|
"62542", "Balikpapan", |
512
|
|
|
|
|
|
|
"62739", "Bintuhan\/Manna", |
513
|
|
|
|
|
|
|
"62430", "Amurang", |
514
|
|
|
|
|
|
|
"62716", "Muntok", |
515
|
|
|
|
|
|
|
"62658", "Singkil", |
516
|
|
|
|
|
|
|
"62362", "Singaraja", |
517
|
|
|
|
|
|
|
"62719", "Manggar\/Tanjung\ Pandan", |
518
|
|
|
|
|
|
|
"62410", "Pangkep", |
519
|
|
|
|
|
|
|
"62763", "Selatpanjang", |
520
|
|
|
|
|
|
|
"62388", "Kefamenanu\/Soe", |
521
|
|
|
|
|
|
|
"62971", "Merauke", |
522
|
|
|
|
|
|
|
"62765", "Dumai\/Duri\/Bagan\ Batu\/Ujung\ Tanjung", |
523
|
|
|
|
|
|
|
"62727", "Kalianda", |
524
|
|
|
|
|
|
|
"62736", "Bengkulu\ City", |
525
|
|
|
|
|
|
|
"62651", "Banda\ Aceh\/Jantho\/Lamno", |
526
|
|
|
|
|
|
|
"62528", "Purukcahu", |
527
|
|
|
|
|
|
|
"62646", "Idi", |
528
|
|
|
|
|
|
|
"62951", "Sorong", |
529
|
|
|
|
|
|
|
"62365", "Negara\/Gilimanuk", |
530
|
|
|
|
|
|
|
"62363", "Amlapura", |
531
|
|
|
|
|
|
|
"62384", "Bajawa", |
532
|
|
|
|
|
|
|
"62421", "Parepare\/Pinrang", |
533
|
|
|
|
|
|
|
"62543", "Tanah\ Grogot", |
534
|
|
|
|
|
|
|
"62336", "Jember", |
535
|
|
|
|
|
|
|
"62327", "Kangean\/Masalembu", |
536
|
|
|
|
|
|
|
"62545", "Melak", |
537
|
|
|
|
|
|
|
"62389", "Atambua", |
538
|
|
|
|
|
|
|
"62517", "Kandangan\/Barabai\/Rantau\/Negara", |
539
|
|
|
|
|
|
|
"62272", "Klaten", |
540
|
|
|
|
|
|
|
"62731", "Lahat", |
541
|
|
|
|
|
|
|
"62656", "Tapaktuan", |
542
|
|
|
|
|
|
|
"62718", "Koba\/Toboali", |
543
|
|
|
|
|
|
|
"62553", "Malinau", |
544
|
|
|
|
|
|
|
"62280", "West\ Cilacap", |
545
|
|
|
|
|
|
|
"62452", "Poso", |
546
|
|
|
|
|
|
|
"62922", "Jailolo", |
547
|
|
|
|
|
|
|
"62331", "Jember", |
548
|
|
|
|
|
|
|
"62252", "Rangkasbitung", |
549
|
|
|
|
|
|
|
"62622", "Pematangsiantar\/Pematang\ Raya\/Limapuluh", |
550
|
|
|
|
|
|
|
"62714", "Sekayu", |
551
|
|
|
|
|
|
|
"62956", "Fakfak", |
552
|
|
|
|
|
|
|
"62641", "Langsa", |
553
|
|
|
|
|
|
|
"62426", "Mamuju",}; |
554
|
|
|
|
|
|
|
$areanames{id} = {"6221", "Jabodetabek", |
555
|
|
|
|
|
|
|
"62280", "Cilacap\ Barat", |
556
|
|
|
|
|
|
|
"62736", "Kota\ Bengkulu", |
557
|
|
|
|
|
|
|
"62282", "Cilacap\ Timur", |
558
|
|
|
|
|
|
|
"62741", "Kota\ Jambi",}; |
559
|
|
|
|
|
|
|
|
560
|
|
|
|
|
|
|
sub new { |
561
|
19
|
|
|
19
|
1
|
60
|
my $class = shift; |
562
|
19
|
|
|
|
|
36
|
my $number = shift; |
563
|
19
|
|
|
|
|
128
|
$number =~ s/(^\+62|\D)//g; |
564
|
19
|
|
|
|
|
147
|
my $self = bless({ country_code => '62', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); |
565
|
19
|
100
|
|
|
|
103
|
return $self if ($self->is_valid()); |
566
|
1
|
|
|
|
|
6
|
$number =~ s/^(?:0)//; |
567
|
1
|
|
|
|
|
10
|
$self = bless({ country_code => '62', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); |
568
|
1
|
50
|
|
|
|
8
|
return $self->is_valid() ? $self : undef; |
569
|
|
|
|
|
|
|
} |
570
|
|
|
|
|
|
|
1; |