File Coverage

blib/lib/Number/Phone/StubCountry/UZ.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 29 30 96.6


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::UZ;
20 2     2   1252 use base qw(Number::Phone::StubCountry);
  2         8  
  2         253  
21              
22 2     2   21 use strict;
  2         12  
  2         61  
23 2     2   14 use warnings;
  2         7  
  2         61  
24 2     2   22 use utf8;
  2         7  
  2         13  
25             our $VERSION = 1.20230903131448;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2 $3 $4',
30             'leading_digits' => '[235-9]',
31             'national_rule' => '8 $1',
32             'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})'
33             }
34             ];
35              
36             my $validators = {
37             'fixed_line' => '
38             (?:
39             55\\d\\d|
40             6(?:
41             1(?:
42             22|
43             3[124]|
44             4[1-4]|
45             5[1-3578]|
46             64
47             )|
48             2(?:
49             22|
50             3[0-57-9]|
51             41
52             )|
53             5(?:
54             22|
55             3[3-7]|
56             5[024-8]
57             )|
58             6\\d\\d|
59             7(?:
60             [23]\\d|
61             7[69]
62             )|
63             9(?:
64             22|
65             4[1-8]|
66             6[135]
67             )
68             )|
69             7(?:
70             0(?:
71             5[4-9]|
72             6[0146]|
73             7[124-6]|
74             9[135-8]
75             )|
76             (?:
77             1[12]|
78             8\\d
79             )\\d|
80             2(?:
81             22|
82             3[13-57-9]|
83             4[1-3579]|
84             5[14]
85             )|
86             3(?:
87             2\\d|
88             3[1578]|
89             4[1-35-7]|
90             5[1-57]|
91             61
92             )|
93             4(?:
94             2\\d|
95             3[1-579]|
96             7[1-79]
97             )|
98             5(?:
99             22|
100             5[1-9]|
101             6[1457]
102             )|
103             6(?:
104             22|
105             3[12457]|
106             4[13-8]
107             )|
108             9(?:
109             22|
110             5[1-9]
111             )
112             )
113             )\\d{5}
114             ',
115             'geographic' => '
116             (?:
117             55\\d\\d|
118             6(?:
119             1(?:
120             22|
121             3[124]|
122             4[1-4]|
123             5[1-3578]|
124             64
125             )|
126             2(?:
127             22|
128             3[0-57-9]|
129             41
130             )|
131             5(?:
132             22|
133             3[3-7]|
134             5[024-8]
135             )|
136             6\\d\\d|
137             7(?:
138             [23]\\d|
139             7[69]
140             )|
141             9(?:
142             22|
143             4[1-8]|
144             6[135]
145             )
146             )|
147             7(?:
148             0(?:
149             5[4-9]|
150             6[0146]|
151             7[124-6]|
152             9[135-8]
153             )|
154             (?:
155             1[12]|
156             8\\d
157             )\\d|
158             2(?:
159             22|
160             3[13-57-9]|
161             4[1-3579]|
162             5[14]
163             )|
164             3(?:
165             2\\d|
166             3[1578]|
167             4[1-35-7]|
168             5[1-57]|
169             61
170             )|
171             4(?:
172             2\\d|
173             3[1-579]|
174             7[1-79]
175             )|
176             5(?:
177             22|
178             5[1-9]|
179             6[1457]
180             )|
181             6(?:
182             22|
183             3[12457]|
184             4[13-8]
185             )|
186             9(?:
187             22|
188             5[1-9]
189             )
190             )
191             )\\d{5}
192             ',
193             'mobile' => '
194             (?:
195             (?:
196             200[01]|
197             (?:
198             33|
199             50|
200             88|
201             9[0-57-9]
202             )\\d\\d
203             )\\d|
204             6(?:
205             1(?:
206             2(?:
207             2[01]|
208             98
209             )|
210             35[0-4]|
211             50\\d|
212             61[23]|
213             7(?:
214             [01][017]|
215             4\\d|
216             55|
217             9[5-9]
218             )
219             )|
220             2(?:
221             (?:
222             11|
223             7\\d
224             )\\d|
225             2(?:
226             [12]1|
227             9[01379]
228             )|
229             5(?:
230             [126]\\d|
231             3[0-4]
232             )
233             )|
234             5(?:
235             19[01]|
236             2(?:
237             27|
238             9[26]
239             )|
240             (?:
241             30|
242             59|
243             7\\d
244             )\\d
245             )|
246             6(?:
247             2(?:
248             1[5-9]|
249             2[0367]|
250             38|
251             41|
252             52|
253             60
254             )|
255             (?:
256             3[79]|
257             9[0-3]
258             )\\d|
259             4(?:
260             56|
261             83
262             )|
263             7(?:
264             [07]\\d|
265             1[017]|
266             3[07]|
267             4[047]|
268             5[057]|
269             67|
270             8[0178]|
271             9[79]
272             )
273             )|
274             7(?:
275             2(?:
276             24|
277             3[237]|
278             4[5-9]|
279             7[15-8]
280             )|
281             5(?:
282             7[12]|
283             8[0589]
284             )|
285             7(?:
286             0\\d|
287             [39][07]
288             )|
289             9(?:
290             0\\d|
291             7[079]
292             )
293             )|
294             9(?:
295             2(?:
296             1[1267]|
297             3[01]|
298             5\\d|
299             7[0-4]
300             )|
301             (?:
302             5[67]|
303             7\\d
304             )\\d|
305             6(?:
306             2[0-26]|
307             8\\d
308             )
309             )
310             )|
311             7(?:
312             [07]\\d{3}|
313             1(?:
314             13[01]|
315             6(?:
316             0[47]|
317             1[67]|
318             66
319             )|
320             71[3-69]|
321             98\\d
322             )|
323             2(?:
324             2(?:
325             2[79]|
326             95
327             )|
328             3(?:
329             2[5-9]|
330             6[0-6]
331             )|
332             57\\d|
333             7(?:
334             0\\d|
335             1[17]|
336             2[27]|
337             3[37]|
338             44|
339             5[057]|
340             66|
341             88
342             )
343             )|
344             3(?:
345             2(?:
346             1[0-6]|
347             21|
348             3[469]|
349             7[159]
350             )|
351             (?:
352             33|
353             9[4-6]
354             )\\d|
355             5(?:
356             0[0-4]|
357             5[579]|
358             9\\d
359             )|
360             7(?:
361             [0-3579]\\d|
362             4[0467]|
363             6[67]|
364             8[078]
365             )
366             )|
367             4(?:
368             2(?:
369             29|
370             5[0257]|
371             6[0-7]|
372             7[1-57]
373             )|
374             5(?:
375             1[0-4]|
376             8\\d|
377             9[5-9]
378             )|
379             7(?:
380             0\\d|
381             1[024589]|
382             2[0-27]|
383             3[0137]|
384             [46][07]|
385             5[01]|
386             7[5-9]|
387             9[079]
388             )|
389             9(?:
390             7[015-9]|
391             [89]\\d
392             )
393             )|
394             5(?:
395             112|
396             2(?:
397             0\\d|
398             2[29]|
399             [49]4
400             )|
401             3[1568]\\d|
402             52[6-9]|
403             7(?:
404             0[01578]|
405             1[017]|
406             [23]7|
407             4[047]|
408             [5-7]\\d|
409             8[78]|
410             9[079]
411             )
412             )|
413             6(?:
414             2(?:
415             2[1245]|
416             4[2-4]
417             )|
418             39\\d|
419             41[179]|
420             5(?:
421             [349]\\d|
422             5[0-2]
423             )|
424             7(?:
425             0[017]|
426             [13]\\d|
427             22|
428             44|
429             55|
430             67|
431             88
432             )
433             )|
434             9(?:
435             22[128]|
436             3(?:
437             2[0-4]|
438             7\\d
439             )|
440             57[02569]|
441             7(?:
442             2[05-9]|
443             3[37]|
444             4\\d|
445             60|
446             7[2579]|
447             87|
448             9[07]
449             )
450             )
451             )
452             )\\d{4}
453             ',
454             'pager' => '',
455             'personal_number' => '',
456             'specialrate' => '',
457             'toll_free' => '',
458             'voip' => ''
459             };
460              
461             sub new {
462 7     7 1 38 my $class = shift;
463 7         28 my $number = shift;
464 7         48 $number =~ s/(^\+998|\D)//g;
465 7         40 my $self = bless({ country_code => '998', number => $number, formatters => $formatters, validators => $validators, }, $class);
466 7 100       51 return $self if ($self->is_valid());
467 1         5 $number =~ s/^(?:8)//;
468 1         11 $self = bless({ country_code => '998', number => $number, formatters => $formatters, validators => $validators, }, $class);
469 1 50       8 return $self->is_valid() ? $self : undef;
470             }
471             1;