diff --git a/CHANGELOG b/CHANGELOG index 52b40e850339a66baecaebcc5eeab4ccc8a85ed7..3e0bd46bc50efe36ef93eef6accd820faacc6cfa 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +2017-03-14 3.4000 Changed Kosovo's placeholder country-code from KOS to XK; + +383 (Kosovo) is now a special-case for validation + (see https://github.com/DrHyde/perl-modules-Number-Phone/issues/66); + Data updates + 2016-12-06 3.3000 Implemented is_drama (see https://github.com/DrHyde/perl-modules-Number-Phone/pull/61); NANP modules now know about is_tollfree, is_specialrate and @@ -11,6 +16,7 @@ More comprehensive testing of stubs, and resulting bug-fixes for territories that appear as part of another's number plan, such as enormous Kazakhstan and tiny Tristan da Cunha; + Data updates 2016-09-07 3.2001 Data updates diff --git a/META.json b/META.json index 0c6bb2e37659e2adfeefe820e9aabbdbf4aa9135..bb7aa5b251c34c9d652329a241cca8b3b164d912 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "unknown" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001", + "generated_by" : "ExtUtils::MakeMaker version 7.1001, CPAN::Meta::Converter version 2.150005", "license" : [ "unknown" ], @@ -49,5 +49,6 @@ "url" : "https://github.com/DrHyde/perl-modules-Number-Phone" } }, - "version" : "3.3000" + "version" : "3.4000", + "x_serialization_backend" : "JSON::PP version 2.27300" } diff --git a/META.yml b/META.yml index 09fb814d26b45441e123ec322b0db69ac9f2b2a1..2838cdbbe58ce6409388fbfcd6b5e904e33b9d0e 100644 --- a/META.yml +++ b/META.yml @@ -7,7 +7,7 @@ build_requires: configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001' +generated_by: 'ExtUtils::MakeMaker version 7.1001, CPAN::Meta::Converter version 2.150005' license: unknown meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -26,4 +26,5 @@ requires: resources: bugtracker: https://github.com/DrHyde/perl-modules-Number-Phone/issues repository: https://github.com/DrHyde/perl-modules-Number-Phone -version: '3.3000' +version: '3.4000' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/lib/Number/Phone.pm b/lib/Number/Phone.pm index 8e1b341ca02fcfabf30b3adfc33c878b7bb77290..9554f403af175800e63f0e9c4971972c41d00163 100644 --- a/lib/Number/Phone.pm +++ b/lib/Number/Phone.pm @@ -8,7 +8,7 @@ use Number::Phone::Country qw(noexport); use Number::Phone::StubCountry; # MUST be in format N.NNNN, see https://github.com/DrHyde/perl-modules-Number-Phone/issues/58 -our $VERSION = '3.3000'; +our $VERSION = '3.4000'; my $NOSTUBS = 0; sub import { @@ -134,9 +134,10 @@ Early versions of this module allowed what are now object methods to also be called as class methods or even as functions. This was a bad design decision. Use of those calling conventions was deprecated in version 2.0, released in January 2012, and started to emit -warnings. +warnings. All code to support those calling conventions has now been removed. -All code to support those calling conventions has now been removed. +Until 2017 we ued KOS for the country code for Kosovo, that has now changed to +XK. See L. =head1 COMPATIBILTY WITH libphonenumber @@ -159,6 +160,16 @@ of Number::Phone that will use the libphonenumber-derived stub classes even when extra data is available in, for example, Number::Phone::UK. You might want to do this for compatibility or performance. Number::Phone::UK is quite slow, because it uses a huge database for some of its features. +=head1 SPECIAL CASE FOR KOSOVO + +Kosovo has been allocated country code +383, and it is apparently in use as of +March 2017, but no number plan has been published and libphonenumber has no +data. Therefore *all* +383 numbers will be considered valid. This is strictly +speaking the wrong thing to do, but the alternative is to consider them all +invalid, which is just as wrong. This will no doubt change in the future. +See L and +L. + =cut sub _new_args { @@ -215,7 +226,8 @@ sub _make_stub_object { return bless({ country_code => $country_idd, country => $country_name, - is_valid => undef, + # Kosovo special case + is_valid => ($country_idd eq '383') ? 1 : undef, number => $local_number, }, 'Number::Phone::StubCountry'); } diff --git a/lib/Number/Phone/Country.pm b/lib/Number/Phone/Country.pm index 91f25180e52ac427ea620bc4b35ea57ea721fa69..478d2f2a8828b78319c8f902add00d55f8a135f1 100644 --- a/lib/Number/Phone/Country.pm +++ b/lib/Number/Phone/Country.pm @@ -5,7 +5,7 @@ use Number::Phone::Country::Data; # *_codes are global so we can mock in some tests use vars qw($VERSION %idd_codes %prefix_codes); -$VERSION = 1.91; +$VERSION = 1.92; my $use_uk = 0; sub import { @@ -194,9 +194,11 @@ off by passing the 'noexport' constant when you use the module. Also be aware that the ISO code for the United Kingdom is GB, not UK. If you would prefer UK, pass the 'uk' constant. -I have put in number ranges for Kosovo, which does not yet have an ISO -country code. I have used KOS, as that is used by the UN Development -Programme. This may change in the future. +I have put in number ranges for Kosovo, which does not yet have an ISO country +code. I have used XK, as that is the de facto standard as used by numerous +international bodies such as the European Commission and the IMF. I previously +used KOS, as used by the UN Development Programme. This may change again in +the future. =head1 FUNCTIONS @@ -229,7 +231,7 @@ country. =item phone2country($phone) -Returns the ISO country code (or KOS for Kosovo) for a phone number. +Returns the ISO country code (or XK for Kosovo) for a phone number. eg, for +441234567890 it returns 'GB' (or 'UK' if you've told it to). =item phone2country_and_idd($phone) diff --git a/lib/Number/Phone/Country/Data.pm b/lib/Number/Phone/Country/Data.pm index 60e052b7e752f83cecc9ff01f5399ba99bb47b39..3c6d9ef3673378e8d9f5ac647ae007516c32890a 100644 --- a/lib/Number/Phone/Country/Data.pm +++ b/lib/Number/Phone/Country/Data.pm @@ -43,17 +43,18 @@ $VERSION = '1.6'; 359 => 'BG', 36 => 'HU', 370 => 'LT', 371 => 'LV', 372 => 'EE', 373 => 'MD', 374 => 'AM', 375 => 'BY', 376 => 'AD', 377 => 'MC', - 37744 => 'KOS', # from http://en.wikipedia.org/wiki/List_of_country_calling_codes#At_a_glance - 37745 => 'KOS', - 38128 => 'KOS', - 38129 => 'KOS', - 38138 => 'KOS', - 38139 => 'KOS', - 38643 => 'KOS', - 38649 => 'KOS', + 37744 => 'XK', # from http://en.wikipedia.org/wiki/List_of_country_calling_codes#At_a_glance + 37745 => 'XK', + 38128 => 'XK', + 38129 => 'XK', + 38138 => 'XK', + 38139 => 'XK', + 38643 => 'XK', + 38649 => 'XK', 378 => 'SM', 379 => 'VA', 380 => 'UA', 381 => 'RS', 382 => 'ME', 385 => 'HR', + 383 => 'XK', 386 => 'SI', 387 => 'BA', 389 => 'MK', 39 => ['IT', 'VA'], 3966982 => 'VA', diff --git a/lib/Number/Phone/NANP/Data.pm b/lib/Number/Phone/NANP/Data.pm index 7302539913efb6e67aef4569c8ab245f318a4b72..38b14aae046ce43cfbd8cff0685621afc7f8c10a 100644 --- a/lib/Number/Phone/NANP/Data.pm +++ b/lib/Number/Phone/NANP/Data.pm @@ -21,7 +21,7 @@ use strict; use warnings; use vars qw(%areanames %fixed_line_regexes %mobile_regexes); -our $VERSION = 1.20161206201828; +our $VERSION = 1.20170314173050; @@ -651,7 +651,7 @@ our $VERSION = 1.20161206201828; '1205991' => "Birmingham\,\ AL", '1205995' => "Birmingham\,\ AL", '1205996' => "Birmingham\,\ AL", - '1206' => "Washington", + '1206' => "Washington\ State", '1206215' => "Seattle\,\ WA", '1206217' => "Seattle\,\ WA", '1206223' => "Seattle\,\ WA", @@ -3373,7 +3373,7 @@ our $VERSION = 1.20161206201828; '1252977' => "Rocky\ Mount\,\ NC", '1252985' => "Rocky\ Mount\,\ NC", '1252986' => "Hatteras\,\ NC", - '1253' => "Washington", + '1253' => "Washington\ State", '1253200' => "Puyallup\,\ WA", '1253236' => "Kent\,\ WA", '1253265' => "Gig\ Harbor\,\ WA", @@ -4488,6 +4488,7 @@ our $VERSION = 1.20161206201828; '1281997' => "Pearland\,\ TX", '1281998' => "Pasadena\,\ TX", '1281999' => "Houston\,\ TX", + '1283' => "Ohio", '1289' => "Ontario", '1289240' => "Oshawa\,\ ON", '1289296' => "Niagara\ Falls\,\ ON", @@ -8230,7 +8231,7 @@ our $VERSION = 1.20161206201828; '1352872' => "Gainesville\,\ FL", '1352873' => "Ocala\,\ FL", '1352955' => "Gainesville\,\ FL", - '1360' => "Washington", + '1360' => "Washington\ State", '1360210' => "Camas\,\ WA", '1360213' => "Vancouver\,\ WA", '1360221' => "Langley\,\ WA", @@ -11910,7 +11911,7 @@ our $VERSION = 1.20161206201828; '1423979' => "Johnson\ City\,\ TN", '1423989' => "Bristol\,\ TN", '1424' => "California", - '1425' => "Washington", + '1425' => "Washington\ State", '1425204' => "Renton\,\ WA", '1425212' => "Everett\,\ WA", '1425222' => "Fall\ City\,\ WA", @@ -12370,6 +12371,7 @@ our $VERSION = 1.20161206201828; '1440998' => "Ashtabula\,\ OH", '1441292' => "Hamilton", '1441295' => "Hamilton", + '1442' => "California", '1443' => "Maryland", '1443394' => "Owings\ Mills\,\ MD", '1443438' => "Baltimore\,\ MD", @@ -12554,6 +12556,7 @@ our $VERSION = 1.20161206201828; '1450968' => "Terrebonne\,\ QC", '1450974' => "Saint\-Eustache\,\ QC", '1450991' => "Granby\,\ QC", + '1458' => "Oregon", '1463' => "Indiana", '1469' => "Texas", '1469232' => "Dallas\,\ TX", @@ -12567,6 +12570,8 @@ our $VERSION = 1.20161206201828; '1469752' => "Plano\,\ TX", '1469916' => "Dallas\,\ TX", '1469952' => "McKinney\,\ TX", + '1470' => "Georgia", + '1475' => "Connecticut", '1478' => "Georgia", '1478218' => "Perry\,\ GA", '1478225' => "Warner\ Robins\,\ GA", @@ -14131,7 +14136,7 @@ our $VERSION = 1.20161206201828; '1508997' => "New\ Bedford\,\ MA", '1508998' => "New\ Bedford\,\ MA", '1508999' => "New\ Bedford\,\ MA", - '1509' => "Washington", + '1509' => "Washington\ State", '1509216' => "Spokane\,\ WA", '1509225' => "Yakima\,\ WA", '1509226' => "Newman\ Lake\,\ WA", @@ -16068,6 +16073,9 @@ our $VERSION = 1.20161206201828; '1530934' => "Willows\,\ CA", '1530938' => "Weed\,\ CA", '1530993' => "Loyalton\,\ CA", + '1531' => "Nebraska", + '1534' => "Wisconsin", + '1539' => "Oklahoma", '1540' => "Virginia", '1540206' => "Roanoke\,\ VA", '1540213' => "Staunton\,\ VA", @@ -21557,6 +21565,8 @@ our $VERSION = 1.20161206201828; '1678973' => "Atlanta\,\ GA", '1678974' => "Atlanta\,\ GA", '1678985' => "Lawrenceville\,\ GA", + '1680' => "New\ York", + '1681' => "West\ Virginia", '1682' => "Texas", '1682518' => "Mansfield\,\ TX", '1682622' => "Mansfield\,\ TX", @@ -25727,6 +25737,7 @@ our $VERSION = 1.20161206201828; '1760966' => "Oceanside\,\ CA", '1760967' => "Oceanside\,\ CA", '1760995' => "Hesperia\,\ CA", + '1762' => "Georgia", '1763' => "Minnesota", '1763205' => "Minneapolis\,\ MN", '1763208' => "Minneapolis\,\ MN", @@ -36271,7 +36282,7 @@ $mobile_regexes{BB} = '246(?:2(?:[356]\d|4[0-57-9]|8[0-79])|45\d|8(?:[2-5]\d|83) $fixed_line_regexes{BM} = '441(?:2(?:02|23|61|[3479]\d)|[46]\d{2}|5(?:4\d|60|89)|824)\d{4}'; $mobile_regexes{BM} = '441(?:[37]\d|5[0-39])\d{5}'; $fixed_line_regexes{BS} = '242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[1-3]|12|7[67]|8[78]|9[89])|7(?:02|88))\d{4}'; -$mobile_regexes{BS} = '242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\d|81)|5(?:2[45]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\d{4}'; +$mobile_regexes{BS} = '242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\d|81)|5(?:2[45]|3[35]|44|5[1-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\d|99))\d{4}'; $fixed_line_regexes{DM} = '767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4]|70[1-3])\d{4}'; $mobile_regexes{DM} = '767(?:2(?:[234689]5|7[5-7])|31[5-7]|61[2-7])\d{4}'; $fixed_line_regexes{GD} = '473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|800|938)\d{4}'; @@ -36290,8 +36301,8 @@ $fixed_line_regexes{SX} = '7215(?:4[2-8]|8[239]|9[056])\d{4}'; $mobile_regexes{SX} = '7215(?:1[02]|2\d|5[034679]|8[014-8])\d{4}'; $fixed_line_regexes{TC} = '649(?:712|9(?:4\d|50))\d{4}'; $mobile_regexes{TC} = '649(?:2(?:3[129]|4[1-7])|3(?:3[1-389]|4[1-8])|4[34][1-3])\d{4}'; -$fixed_line_regexes{TT} = '868(?:2(?:01|2[1-6]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\d|7[0-79])|82[124])\d{4}'; -$mobile_regexes{TT} = '868(?:2(?:[789]\d)|3(?:0[1-9]|1[02-9]|[2-9]\d)|4[6-9]\d|6(?:20|78|8\d)|7(?:0[1-9]|1[02-9]|[2-9]\d))\d{4}'; +$fixed_line_regexes{TT} = '868(?:2(?:01|[23]\d)|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\d|7[0-79])|82[124])\d{4}'; +$mobile_regexes{TT} = '868(?:2(?:6[6-9]|[789]\d)|3(?:0[1-9]|1[02-9]|[2-9]\d)|4[6-9]\d|6(?:20|78|8\d)|7(?:0[1-9]|1[02-9]|[2-9]\d))\d{4}'; $fixed_line_regexes{VC} = '784(?:266|3(?:6[6-9]|7\d|8[0-24-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\d{4}'; $mobile_regexes{VC} = '784(?:4(?:3[0-4]|5[45]|89|9[0-58])|5(?:2[6-9]|3[0-4]))\d{4}'; $fixed_line_regexes{VG} = '284(?:(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\d{4}|496[0-5]\d{3})'; diff --git a/lib/Number/Phone/StubCountry/AC.pm b/lib/Number/Phone/StubCountry/AC.pm index cd08985dcbaad7b97f1de0346670608bfbdb90d5..4df28d725de5775a46f0911ecf6b7105bd9638ef 100644 --- a/lib/Number/Phone/StubCountry/AC.pm +++ b/lib/Number/Phone/StubCountry/AC.pm @@ -22,23 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = []; my $validators = { + 'pager' => '', 'voip' => '', - 'geographic' => ' - 6[2-467]\\d{3} - ', 'fixed_line' => ' 6[2-467]\\d{3} ', - 'toll_free' => '', 'mobile' => '4\\d{4}', - 'pager' => '', + 'specialrate' => '([01589]\\d{5})', + 'geographic' => ' + 6[2-467]\\d{3} + ', 'personal_number' => '', - 'specialrate' => '([01589]\\d{5})' + 'toll_free' => '' }; my %areanames = ( 2471 => "Georgetown", diff --git a/lib/Number/Phone/StubCountry/AD.pm b/lib/Number/Phone/StubCountry/AD.pm index a4619ed8feb97cf4e094a306c10d3d5d38b1743b..d707889707764fce71322cb74719c1ddbc2a4cc9 100644 --- a/lib/Number/Phone/StubCountry/AD.pm +++ b/lib/Number/Phone/StubCountry/AD.pm @@ -22,30 +22,30 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{3})', 'leading_digits' => ' [137-9]| 6[0-8] - ' + ', + 'pattern' => '(\\d{3})(\\d{3})' }, { - 'pattern' => '(\\d{4})(\\d{4})', - 'leading_digits' => '180[02]' + 'leading_digits' => '180[02]', + 'pattern' => '(\\d{4})(\\d{4})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'leading_digits' => '690' + 'leading_digits' => '690', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' } ]; my $validators = { - 'specialrate' => '([19]\\d{5})', + 'geographic' => '[78]\\d{5}', 'personal_number' => '', - 'pager' => '', + 'toll_free' => '180[02]\\d{4}', 'mobile' => ' (?: 3\\d| @@ -55,10 +55,10 @@ my $validators = { ) )\\d{4} ', - 'toll_free' => '180[02]\\d{4}', - 'voip' => '', + 'specialrate' => '([19]\\d{5})', 'fixed_line' => '[78]\\d{5}', - 'geographic' => '[78]\\d{5}' + 'pager' => '', + 'voip' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/AE.pm b/lib/Number/Phone/StubCountry/AE.pm index 7957fda9f3312a81ef645d005794422dc857dfd4..02a53654c960e2d747ffe04beaa2a2a80da15430 100644 --- a/lib/Number/Phone/StubCountry/AE.pm +++ b/lib/Number/Phone/StubCountry/AE.pm @@ -22,20 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'leading_digits' => '[2-4679][2-8]', - 'pattern' => '([2-4679])(\\d{3})(\\d{4})' + 'pattern' => '([2-4679])(\\d{3})(\\d{4})', + 'leading_digits' => '[2-4679][2-8]' }, { 'leading_digits' => '5', 'pattern' => '(5\\d)(\\d{3})(\\d{4})' }, { - 'pattern' => '([479]00)(\\d)(\\d{5})', - 'leading_digits' => '[479]0' + 'leading_digits' => '[479]0', + 'pattern' => '([479]00)(\\d)(\\d{5})' }, { 'leading_digits' => ' @@ -47,17 +47,17 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '5[024-68]\\d{7}', + 'fixed_line' => '[2-4679][2-8]\\d{6}', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => '[2-4679][2-8]\\d{6}', 'toll_free' => ' 400\\d{6}| 800\\d{2,9} ', - 'voip' => '', - 'geographic' => '[2-4679][2-8]\\d{6}', - 'fixed_line' => '[2-4679][2-8]\\d{6}', 'specialrate' => '(700[05]\\d{5})|(900[02]\\d{5})|(600[25]\\d{5})', - 'personal_number' => '', - 'pager' => '' + 'mobile' => '5[024-68]\\d{7}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/AF.pm b/lib/Number/Phone/StubCountry/AF.pm index d17ba969a1654ab6dea7e97b524a699c8fda6f73..f4b5e957bae33bf3ad2ce213bded152c513cceb1 100644 --- a/lib/Number/Phone/StubCountry/AF.pm +++ b/lib/Number/Phone/StubCountry/AF.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -34,9 +34,7 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '', 'voip' => '', 'fixed_line' => ' (?: @@ -45,6 +43,14 @@ my $validators = { 6[0-5] )[2-9]\\d{6} ', + 'specialrate' => '', + 'mobile' => ' + 7(?: + [014-9]\\d{7}| + 2[89]\\d{6} + ) + ', + 'toll_free' => '', 'geographic' => ' (?: [25][0-8]| @@ -52,13 +58,7 @@ my $validators = { 6[0-5] )[2-9]\\d{6} ', - 'mobile' => ' - 7(?: - [014-9]\\d{7}| - 2[89]\\d{6} - ) - ', - 'toll_free' => '' + 'personal_number' => '' }; my %areanames = ( 9320 => "Kabul", diff --git a/lib/Number/Phone/StubCountry/AG.pm b/lib/Number/Phone/StubCountry/AG.pm index 9526a63bdef1badc4a8f08bdce2eee35d9e94651..1c8ed0d190b3be5605380bfa35ca86a84f9d93b6 100644 --- a/lib/Number/Phone/StubCountry/AG.pm +++ b/lib/Number/Phone/StubCountry/AG.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -34,35 +34,6 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => ' - 268(?: - 4(?: - 6[0-38]| - 84 - )| - 56[0-2] - )\\d{4} - ', - 'geographic' => ' - 268(?: - 4(?: - 6[0-38]| - 84 - )| - 56[0-2] - )\\d{4} - ', - 'voip' => '26848[01]\\d{4}', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', 'mobile' => ' 268(?: 464| @@ -75,6 +46,7 @@ my $validators = { ) )\\d{4} ', + 'specialrate' => '(900[2-9]\\d{6})', 'personal_number' => ' 5(?: 00| @@ -86,8 +58,37 @@ my $validators = { 88 )[2-9]\\d{6} ', + 'geographic' => ' + 268(?: + 4(?: + 6[0-38]| + 84 + )| + 56[0-2] + )\\d{4} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'voip' => '26848[01]\\d{4}', 'pager' => '26840[69]\\d{4}', - 'specialrate' => '(900[2-9]\\d{6})' + 'fixed_line' => ' + 268(?: + 4(?: + 6[0-38]| + 84 + )| + 56[0-2] + )\\d{4} + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/AI.pm b/lib/Number/Phone/StubCountry/AI.pm index db943e7981f0efc54c529559fc25194440d0b8ac..bf1cd6f3f50b8c3c90de1cb4f7d7f8e88bdba91a 100644 --- a/lib/Number/Phone/StubCountry/AI.pm +++ b/lib/Number/Phone/StubCountry/AI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -34,35 +34,16 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 264(?: - 235| - 476| - 5(?: - 3[6-9]| - 8[1-4] - )| - 7(?: - 29| - 72 - ) - )\\d{4} - ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| 77| 88 )[2-9]\\d{6} - ', - 'fixed_line' => ' - 2644(?: - 6[12]| - 9[78] - )\\d{4} ', 'geographic' => ' 2644(?: @@ -70,9 +51,6 @@ my $validators = { 9[78] )\\d{4} ', - 'voip' => '', - 'specialrate' => '(900[2-9]\\d{6})', - 'pager' => '', 'personal_number' => ' 5(?: 00| @@ -83,7 +61,30 @@ my $validators = { 77| 88 )[2-9]\\d{6} - ' + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 264(?: + 235| + 476| + 5(?: + 3[6-9]| + 8[1-4] + )| + 7(?: + 29| + 72 + ) + )\\d{4} + ', + 'fixed_line' => ' + 2644(?: + 6[12]| + 9[78] + )\\d{4} + ', + 'pager' => '', + 'voip' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/AL.pm b/lib/Number/Phone/StubCountry/AL.pm index fe4234f30112afb0e899ee3a139e6cd4d3bfa87d..01b590f59dfbbf7f318bd422b5601287514437d8 100644 --- a/lib/Number/Phone/StubCountry/AL.pm +++ b/lib/Number/Phone/StubCountry/AL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -51,10 +51,7 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '700\\d{5}', - 'pager' => '', - 'specialrate' => '(808\\d{3})|(900\\d{3})', - 'fixed_line' => ' + 'geographic' => ' (?: 2(?: [168][1-9]| @@ -81,7 +78,11 @@ my $validators = { ) )\\d{5} ', - 'geographic' => ' + 'personal_number' => '700\\d{5}', + 'toll_free' => '800\\d{4}', + 'specialrate' => '(808\\d{3})|(900\\d{3})', + 'mobile' => '6[6-9]\\d{7}', + 'fixed_line' => ' (?: 2(?: [168][1-9]| @@ -108,9 +109,8 @@ my $validators = { ) )\\d{5} ', - 'voip' => '', - 'mobile' => '6[6-9]\\d{7}', - 'toll_free' => '800\\d{4}' + 'pager' => '', + 'voip' => '' }; my %areanames = ( 355211 => "Koplik", diff --git a/lib/Number/Phone/StubCountry/AM.pm b/lib/Number/Phone/StubCountry/AM.pm index 630416852b721616a6caff0c7213f8de5eb4d684..0b53de130c4e936ee4c761201b19af8bfcf10416 100644 --- a/lib/Number/Phone/StubCountry/AM.pm +++ b/lib/Number/Phone/StubCountry/AM.pm @@ -22,23 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { + 'pattern' => '(\\d{2})(\\d{6})', 'leading_digits' => ' 1| 47 - ', - 'pattern' => '(\\d{2})(\\d{6})' + ' }, { - 'pattern' => '(\\d{2})(\\d{6})', 'leading_digits' => ' - 4[139]| + 4[1349]| [5-7]| 9[1-9] - ' + ', + 'pattern' => '(\\d{2})(\\d{6})' }, { 'leading_digits' => '[23]', @@ -54,16 +54,6 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(80[1-4]\\d{5})|(90[016]\\d{5})', - 'voip' => ' - 60(?: - 2[078]| - [3-7]\\d| - 8[0-5] - )\\d{4} - ', 'geographic' => ' (?: 1[0-2]\\d| @@ -79,6 +69,17 @@ my $validators = { 47\\d )\\d{5} ', + 'personal_number' => '', + 'toll_free' => '800\\d{5}', + 'mobile' => ' + (?: + 4[1349]| + 55| + 77| + 9[1-9] + )\\d{6} + ', + 'specialrate' => '(80[1-4]\\d{5})|(90[016]\\d{5})', 'fixed_line' => ' (?: 1[0-2]\\d| @@ -94,169 +95,506 @@ my $validators = { 47\\d )\\d{5} ', - 'mobile' => ' - (?: - 4[139]| - 55| - 77| - 9[1-9] - )\\d{6} - ', - 'toll_free' => '800\\d{5}' + 'pager' => '', + 'voip' => ' + 60(?: + 2[078]| + [3-7]\\d| + 8[0-5] + )\\d{4} + ' }; my %areanames = ( 37410 => "Yerevan\/Jrvezh", 37411 => "Yerevan", - 374222 => "Abovyan\/Akunk\/Byureghavan\/Nor\ Gyugh\/Verin\ Ptghni", - 3742227 => "Garni", - 3742229 => "Zovk", - 37422290 => "Mayakovsky", - 37422291 => "Balahovit\/Kamaris", - 37422293 => "Aramus", - 37422294 => "Arzni", - 37422296 => "Ptghni", - 37422297 => "Geghashen", - 37422298 => "Arinj", + 37412 => "Yerevan", + 374222 => "Abovyan\/Akunk\/Byureghavan\/Nor\ Gyugh\/Verin\ Ptghni\,\ Kotayk", + 3742222 => "Abovyan\,\ Kotayk", + 3742223 => "Abovyan\,\ Kotayk", + 3742224 => "Abovyan\,\ Kotayk", + 3742225 => "Abovyan\/Arzni\/Arinj\/Geghashen\,\ Kotayk", + 3742226 => "Abovyan\,\ Kotayk", + 3742227 => "Garni\/Abovyan\,\ Kotayk", + 37422281 => "Abovyan\/Arzni\/Arinj\/Geghashen\,\ Kotayk", + 3742229 => "Zovk\/Abovyan\,\ Kotayk", + 37422290 => "Mayakovsky\,\ Kotayk", + 37422291 => "Balahovit\/Kamaris\,\ Kotayk", + 37422293 => "Aramus\,\ Kotayk", + 37422294 => "Arzni\,\ Kotayk", + 37422296 => "Ptghni\,\ Kotayk", + 37422297 => "Geghashen\,\ Kotayk", + 37422298 => "Arinj\,\ Kotayk", 37422299 => "Kotayk", - 374223 => "Hankavan\/Hrazdan\/Tsakhkadzor", - 37422391 => "Lernanist", - 37422393 => "Meghradzor", - 37422394 => "Pyunik", - 37422397 => "Solak", - 37422398 => "Bjni", - 374224 => "Kanakeravan\/Nor\ Geghi\/Nor\ Hajn\/Yeghvard", - 37422452 => "Zovuni", - 37422453 => "Proshyan", - 37422454 => "Argel", - 374226 => "Charentsavan", - 37422672 => "Arzakan", - 37422675 => "Alapars\/Vardanavank", - 374231 => "Echmiadzin\/Musaler\/Parakar\/Zvartnots", - 37423190 => "Baghramyan", - 37423191 => "Vache", - 37423195 => "Norakert", - 37423198 => "Jrarat", - 37423199 => "Khoronk", - 374232 => "Aghdzq\/Ashtarak\/Karbi\/Oshakan", - 37423290 => "Ohanavan", - 37423294 => "Byurakan", - 374233 => "Baghramyan\/Lernagog", - 37423374 => "Myasnikyan", - 37423375 => "Karakert", - 37423376 => "Dalarik", - 374234 => "Vedi\/Vosketap\/Ararat", - 37423481 => "Aygavan", - 37423486 => "Urtsadzor", - 37423492 => "Martirosyan", - 37423497 => "Pokr\ Vedi", - 37423498 => "Taperakan", - 374235 => "Artashat\/Aygezard\/Dalar\/Kaghtsrashen\/Mkhchyan\/Shahumyan", - 37423572 => "Arevshat", - 3742359 => "Norashen", - 374236 => "Ayntap\/Masis\/Nor\ Kharberd\/Norabats", - 3742363 => "Aintab", - 37423699 => "Dashtavan", - 374237 => "Araks\/Armavir\/Hoktember\/Lenughi\/Metsamor\/Zartonk", - 3742377 => "Mrgashat", - 37423779 => "Bambakashat", - 3742379 => "Nalbandian", - 37423794 => "Margara", - 37423796 => "Tandzut", - 37423798 => "Shenavan", + 374223 => "Hankavan\/Hrazdan\/Tsaghkadzor\,\ Kotayk", + 3742232 => "Hrazdan\,\ Kotayk", + 3742233 => "Hrazdan\,\ Kotayk", + 3742234 => "Hrazdan\,\ Kotayk", + 3742235 => "Tsaghkadzor\,\ Kotayk", + 3742236 => "Hrazdan\,\ Kotayk", + 37422370 => "Hrazdan\,\ Kotayk", + 37422371 => "Hrazdan\,\ Kotayk", + 37422372 => "Hrazdan\,\ Kotayk", + 37422373 => "Hrazdan\,\ Kotayk", + 37422374 => "Hrazdan\,\ Kotayk", + 37422375 => "Tsaghkadzor\,\ Kotayk", + 37422376 => "Tsaghkadzor\,\ Kotayk", + 37422377 => "Tsaghkadzor\,\ Kotayk", + 37422378 => "Tsaghkadzor\,\ Kotayk", + 37422379 => "Tsaghkadzor\,\ Kotayk", + 374223810 => "Hrazdan\,\ Kotayk", + 374223811 => "Hrazdan\,\ Kotayk", + 374223812 => "Hrazdan\,\ Kotayk", + 374223813 => "Hrazdan\,\ Kotayk", + 374223814 => "Hrazdan\,\ Kotayk", + 374223815 => "Tsaghkadzor\,\ Kotayk", + 374223816 => "Tsaghkadzor\,\ Kotayk", + 374223817 => "Tsaghkadzor\,\ Kotayk", + 374223818 => "Tsaghkadzor\,\ Kotayk", + 374223819 => "Tsaghkadzor\,\ Kotayk", + 3742239 => "Hrazdan\,\ Kotayk", + 37422391 => "Lernanist\,\ Kotayk", + 37422393 => "Meghradzor\,\ Kotayk", + 37422394 => "Pyunik\,\ Kotayk", + 37422397 => "Solak\,\ Kotayk", + 37422398 => "Bjni\,\ Kotayk", + 374224 => "Kanakeravan\/Nor\ Geghi\/Nor\ Hajn\/Yeghvard\,\ Kotayk", + 3742242 => "Yeghvard\,\ Kotayk", + 3742243 => "Yeghvard\,\ Kotayk", + 3742244 => "Nor\ Hajn\,\ Kotayk", + 3742245 => "Yeghvard\,\ Kotayk", + 37422452 => "Zovuni\,\ Kotayk", + 37422453 => "Proshyan\,\ Kotayk", + 37422454 => "Argel\,\ Kotayk", + 3742246 => "Yeghvard\,\ Kotayk", + 3742247 => "Yeghvard\/Nor\ Hajn\,\ Kotayk", + 374224810 => "Yeghvard\,\ Kotayk", + 374224811 => "Yeghvard\,\ Kotayk", + 374224812 => "Yeghvard\,\ Kotayk", + 374224813 => "Yeghvard\,\ Kotayk", + 374224814 => "Yeghvard\,\ Kotayk", + 374224815 => "Nor\ Hajn\,\ Kotayk", + 374224816 => "Nor\ Hajn\,\ Kotayk", + 374224817 => "Nor\ Hajn\,\ Kotayk", + 374224818 => "Nor\ Hajn\,\ Kotayk", + 374224819 => "Nor\ Hajn\,\ Kotayk", + 3742249 => "Yeghvard\,\ Kotayk", + 374226 => "Charentsavan\,\ Kotayk", + 37422672 => "Arzakan\,\ Kotayk", + 37422675 => "Alapars\/Vardanavank\,\ Kotayk", + 374231 => "Echmiadzin\/Musaler\/Parakar\/Zvartnots\,\ Armavir", + 3742312 => "Echmiadzin\,\ Armavir", + 3742313 => "Zvartnots\,\ Armavir", + 3742314 => "Echmiadzin\,\ Armavir", + 3742315 => "Echmiadzin\,\ Armavir", + 3742316 => "Echmiadzin\,\ Armavir", + 3742317 => "Zvartnots\,\ Armavir", + 374231810 => "Echmiadzin\,\ Armavir", + 374231811 => "Echmiadzin\,\ Armavir", + 374231812 => "Echmiadzin\,\ Armavir", + 374231813 => "Echmiadzin\,\ Armavir", + 374231814 => "Echmiadzin\,\ Armavir", + 374231815 => "Echmiadzin\,\ Armavir", + 374231816 => "Echmiadzin\,\ Armavir", + 374231817 => "Zvartnots\,\ Armavir", + 374231818 => "Zvartnots\,\ Armavir", + 374231819 => "Zvartnots\,\ Armavir", + 3742319 => "Echmiadzin\,\ Armavir", + 37423190 => "Baghramyan\,\ Armavir", + 37423191 => "Vache\,\ Armavir", + 37423195 => "Norakert\,\ Armavir", + 37423198 => "Jrarat\,\ Armavir", + 37423199 => "Khoronk\,\ Armavir", + 374232 => "Aghdzq\/Ashtarak\/Karbi\/Oshakan\,\ Aragatsotn", + 3742322 => "Ashtarak\,\ Aragatsotn", + 3742323 => "Ashtarak\,\ Aragatsotn", + 3742324 => "Ashtarak\/Byurakan\/Ohanavan\,\ Aragatsotn", + 3742326 => "Ashtarak\,\ Aragatsotn", + 37423281 => "Ashtarak\/Byurakan\/Ohanavan\,\ Aragatsotn", + 3742329 => "Ashtarak\,\ Aragatsotn", + 37423290 => "Ohanavan\,\ Aragatsotn", + 37423294 => "Byurakan\,\ Aragatsotn", + 374233 => "Baghramyan\/Lernagog\,\ Armavir", + 3742332 => "Baghramyan\,\ Armavir", + 3742333 => "Baghramyan\/Myasnikyan\,\ Armavir", + 3742336 => "Baghramyan\,\ Armavir", + 3742337 => "Baghramyan\,\ Armavir", + 37423374 => "Myasnikyan\,\ Armavir", + 37423375 => "Karakert\,\ Armavir", + 37423376 => "Dalarik\,\ Armavir", + 37423381 => "Baghramyan\/Myasnikyan\,\ Armavir", + 3742339 => "Baghramyan\,\ Armavir", + 374234 => "Ararat\/Vedi\/Vosketap\,\ Ararat", + 3742342 => "Ararat\/Vedi\,\ Ararat", + 3742343 => "Ararat\/Vedi\,\ Ararat", + 3742344 => "Ararat\/Vedi\,\ Ararat", + 374234510 => "Vedi\,\ Ararat", + 374234511 => "Vedi\,\ Ararat", + 374234512 => "Vedi\,\ Ararat", + 374234513 => "Vedi\,\ Ararat", + 374234514 => "Vedi\,\ Ararat", + 374234515 => "Ararat\/Urtsadzor\,\ Ararat", + 374234516 => "Ararat\/Urtsadzor\,\ Ararat", + 374234517 => "Ararat\/Urtsadzor\,\ Ararat", + 374234518 => "Ararat\/Urtsadzor\,\ Ararat", + 374234519 => "Ararat\/Urtsadzor\,\ Ararat", + 3742346 => "Ararat\/Vedi\,\ Ararat", + 37423470 => "Vedi\,\ Ararat", + 37423471 => "Vedi\,\ Ararat", + 37423472 => "Vedi\,\ Ararat", + 37423473 => "Vedi\,\ Ararat", + 37423474 => "Vedi\,\ Ararat", + 37423475 => "Ararat\/Urtsadzor\,\ Ararat", + 37423476 => "Ararat\/Urtsadzor\,\ Ararat", + 37423477 => "Ararat\/Urtsadzor\,\ Ararat", + 37423478 => "Ararat\/Urtsadzor\,\ Ararat", + 37423479 => "Ararat\/Urtsadzor\,\ Ararat", + 3742348 => "Ararat\/Vedi\,\ Ararat", + 37423481 => "Aygavan\,\ Ararat", + 37423486 => "Urtsadzor\,\ Ararat", + 3742349 => "Ararat\/Vedi\,\ Ararat", + 37423492 => "Martirosyan\,\ Ararat", + 37423497 => "Pokr\ Vedi\,\ Ararat", + 37423498 => "Taperakan\,\ Ararat", + 374235 => "Artashat\/Aygezard\/Dalar\/Kaghtsrashen\/Mkhchyan\/Shahumyan\,\ Ararat", + 3742352 => "Artashat\,\ Ararat", + 3742353 => "Artashat\/Norashen\,\ Ararat", + 3742355 => "Artashat\,\ Ararat", + 3742356 => "Artashat\,\ Ararat", + 3742357 => "Artashat\,\ Ararat", + 37423572 => "Arevshat\,\ Ararat", + 37423581 => "Artashat\/Norashen\,\ Ararat", + 3742359 => "Artashat\/Norashen\,\ Ararat", + 37423592 => "Norashen\,\ Ararat", + 37423593 => "Norashen\,\ Ararat", + 374236 => "Ayntap\/Masis\/Nor\ Kharberd\/Norabats\,\ Ararat", + 3742362 => "Masis\,\ Ararat", + 3742363 => "Ayntap\/Masis\,\ Ararat", + 3742364 => "Masis\,\ Ararat", + 3742365 => "Masis\,\ Ararat", + 3742366 => "Masis\,\ Ararat", + 37423681 => "Masis\,\ Ararat", + 3742369 => "Masis\,\ Ararat", + 37423699 => "Dashtavan\,\ Ararat", + 374237 => "Araks\/Armavir\/Hoktember\/Lenughi\/Metsamor\/Zartonk\,\ Armavir", + 3742372 => "Armavir", + 3742373 => "Metsamor\,\ Armavir", + 37423740 => "Armavir", + 37423741 => "Armavir", + 37423742 => "Armavir", + 37423743 => "Armavir", + 37423744 => "Armavir", + 37423745 => "Armavir", + 37423746 => "Armavir", + 3742375 => "Armavir", + 3742376 => "Armavir", + 3742377 => "Armavir\/Mrgashat", + 37423771 => "Armavir", + 37423772 => "Mrgashat\,\ Armavir", + 37423779 => "Bambakashat\,\ Armavir", + 374237810 => "Armavir", + 374237811 => "Armavir", + 374237812 => "Armavir", + 374237813 => "Armavir", + 374237814 => "Armavir", + 374237815 => "Armavir", + 374237816 => "Armavir", + 3742379 => "Armavir\/Nalbandian", + 37423792 => "Nalbandian\,\ Armavir", + 37423794 => "Margara\,\ Armavir", + 37423796 => "Tandzut\,\ Armavir", + 37423798 => "Shenavan\,\ Armavir", 374238 => "Ararat\/Avshar\/Surenavan\/Yeraskh", - 374242 => "Maralik\/Sarnaghbyur", - 37424293 => "Shirakavan", - 37424297 => "Ani\ Kayaran", - 37424300 => "Akhuryan\/Arapi\/Kamo\/Musayelyan", - 374244 => "Artik\/Pemzashen", - 37424492 => "Panik", - 37424495 => "Arevshat", - 37424496 => "Mets\ Mantash", - 374245 => "Ashotsk\ region", - 374246 => "Amasia\ region", - 374249 => "Talin", - 37424973 => "Katnaghbyur", - 3742499 => "Aragatsavan", - 37424996 => "Nerkin\ Bazmaberd", - 37424997 => "Mastara", - 374252 => "Aparan", - 37425251 => "Kuchak", - 37425295 => "Artavan", - 374253 => "Alaverdi\/Odzun\/Tsaghkashat\/Tumanyan", - 37425352 => "Akhtala", - 37425353 => "Shnogh", - 37425356 => "Chochkan", - 37425357 => "Tumanyan", - 374254 => "Tashir", - 3742549 => "Metsavan", - 374255 => "Spitak\ region", - 374256 => "Bovadzor\/Stepanavan", - 37425691 => "Kurtan", - 37425694 => "Agarak", - 37425695 => "Lejan", - 374257 => "Aragats", - 3742570 => "Tsakhkahovit\ region", - 374261 => "Sevan", - 374262 => "Martuni", - 3742625 => "Vardenik", - 37426272 => "Lichk", - 37426299 => "Eranos", - 374263 => "Azatamut\/Getahovit\/Ijevan\/Yenokavan", - 37426374 => "Aygehovit", - 37426392 => "Achajur", - 37426397 => "Azatamut", - 374264 => "Gavar\/Sarukhan", - 374265 => "Tchambarak", - 37426596 => "Vahan", - 374266 => "Berdavan\/Koghb\/Noyemberyan", - 3742665 => "Koghb", - 3742667 => "Berdavan", - 37426692 => "Archis", - 37426693 => "Baghanis", - 37426695 => "Zorakan", - 37426696 => "Voskepar", - 37426699 => "Koti", - 374267 => "Aygepar\/Berd", - 3742675 => "Artsvaberd", - 37426791 => "Navur", - 37426794 => "Tovuz", - 37426796 => "Mosesgegh", - 37426797 => "Norashen", - 3742680 => "Dilijan", - 374269 => "Vardenis", - 374281 => "Getap\/Salli\/Yeghegnadzor", - 37428151 => "Khachik", - 37428191 => "Arpi", - 37428193 => "Aghavnadzor", - 37428194 => "Areni", - 37428195 => "Malishka", - 37428197 => "Yelpin", - 37428198 => "Rind", - 37428199 => "Shatin", - 374282 => "Vayk\ region", - 3742830 => "Sisian", - 37428375 => "Tasik", - 37428396 => "Angehakot", - 374284 => "Goris\/Verishen", - 37428427 => "Verishen", - 37428491 => "Harzhis", - 37428494 => "Khndzoresk", - 37428495 => "Shinuhayr", - 37428499 => "Kornidzor", - 374285 => "Davit\ Bek\/Kajaran\/Kapan", - 374286 => "Meghri\/Agarak", - 37428695 => "Shvanidzor", - 374287 => "Jermuk", - 37428794 => "Gndevaz", - 374312 => "Gyumri\/Akhuryan\ region", - 374322 => "Vanadzor\/Gugark\ region", - 37432293 => "Pambak", - 37432294 => "Lernapat", - 37432295 => "Yeghegnut", - 37432296 => "Margahovit", - 37432297 => "Dzoraget", - 37432298 => "Lermontovo", - 37432299 => "Vahagni", + 374242 => "Maralik\/Sarnaghbyur\,\ Shirak", + 3742422 => "Maralik\,\ Shirak", + 3742423 => "Maralik\,\ Shirak", + 37424231 => "Sarnaghbyur\,\ Shirak", + 3742424 => "Maralik\,\ Shirak", + 3742425 => "Maralik\/Sarnaghbyur\,\ Shirak", + 3742426 => "Maralik\,\ Shirak", + 37424281 => "Maralik\/Sarnaghbyur\,\ Shirak", + 3742429 => "Maralik\,\ Shirak", + 37424293 => "Shirakavan\,\ Shirak", + 37424297 => "Ani\ Kayaran\,\ Shirak", + 37424300 => "Akhuryan\/Arapi\/Kamo\/Musayelyan\,\ Shirak", + 374244 => "Artik\/Pemzashen\,\ Shirak", + 3742442 => "Artik\,\ Shirak", + 3742443 => "Artik\,\ Shirak", + 3742444 => "Artik\/Panik\,\ Shirak", + 3742445 => "Artik\,\ Shirak", + 3742446 => "Artik\,\ Shirak", + 37424481 => "Artik\/Panik\,\ Shirak", + 3742449 => "Artik\,\ Shirak", + 37424492 => "Panik\,\ Shirak", + 37424495 => "Arevshat\,\ Shirak", + 37424496 => "Mets\ Mantash\,\ Shirak", + 374245 => "Ashotsk\,\ Shirak", + 374246 => "Amasia\,\ Shirak", + 374249 => "Talin\,\ Aragatsotn", + 3742492 => "Talin\,\ Aragatsotn", + 3742493 => "Talin\,\ Aragatsotn", + 3742494 => "Talin\/Aragats\/Katnaghbyur\/Mastara\,\ Aragatsotn", + 3742496 => "Talin\,\ Aragatsotn", + 3742497 => "Talin\,\ Aragatsotn", + 37424973 => "Katnaghbyur\,\ Aragatsotn", + 37424981 => "Talin\/Aragats\/Katnaghbyur\/Mastara\,\ Aragatsotn", + 3742499 => "Aragatsavan\/Talin\,\ Aragatsotn", + 37424995 => "Aragats\,\ Aragatsotn", + 37424996 => "Nerkin\ Bazmaberd\,\ Aragatsotn", + 37424997 => "Mastara\,\ Aragatsotn", + 374252 => "Aparan\,\ Aragatsotn", + 3742522 => "Aparan\,\ Aragatsotn", + 3742523 => "Aparan\,\ Aragatsotn", + 3742524 => "Aparan\/Artavan\/Kuchak\,\ Aragatsotn", + 37425251 => "Kuchak\,\ Aragatsotn", + 3742526 => "Aparan\,\ Aragatsotn", + 37425281 => "Aparan\/Artavan\/Kuchak\,\ Aragatsotn", + 3742529 => "Aparan\,\ Aragatsotn", + 37425291 => "Kuchak\,\ Aragatsotn", + 37425295 => "Artavan\,\ Aragatsotn", + 374253 => "Alaverdi\/Odzun\/Tsaghkashat\/Tumanyan\,\ Lori", + 3742532 => "Alaverdi\,\ Lori", + 3742533 => "Alaverdi\,\ Lori", + 3742534 => "Alaverdi\,\ Lori", + 3742535 => "Alaverdi\,\ Lori", + 37425352 => "Akhtala\,\ Lori", + 37425353 => "Shnogh\,\ Lori", + 37425356 => "Chochkan\,\ Lori", + 37425357 => "Tumanyan\,\ Lori", + 3742536 => "Alaverdi\,\ Lori", + 3742537 => "Alaverdi\/Akhtala\/Tumanyan\,\ Lori", + 37425381 => "Alaverdi\/Akhtala\/Tumanyan\,\ Lori", + 374254 => "Tashir\,\ Lori", + 3742542 => "Tashir\,\ Lori", + 3742543 => "Tashir\/Metsavan\,\ Lori", + 3742546 => "Tashir\,\ Lori", + 3742547 => "Tashir\,\ Lori", + 37425481 => "Tashir\/Metsavan\,\ Lori", + 3742549 => "Tashir\/Metsavan\,\ Lori", + 37425494 => "Metsavan\,\ Lori", + 374255 => "Spitak\,\ Lori", + 374256 => "Bovadzor\/Stepanavan\,\ Lori", + 3742562 => "Stepanavan\,\ Lori", + 3742563 => "Stepanavan\,\ Lori", + 3742564 => "Stepanavan\,\ Lori", + 3742566 => "Stepanavan\,\ Lori", + 37425681 => "Stepanavan\,\ Lori", + 3742569 => "Stepanavan\,\ Lori", + 37425691 => "Kurtan\,\ Lori", + 37425694 => "Agarak\,\ Lori", + 37425695 => "Lejan\,\ Lori", + 374257 => "Aragats\,\ Aragatsotn", + 3742570 => "Tsakhkahovit\,\ Aragatsotn", + 3742572 => "Tsakhkahovit\,\ Aragatsotn", + 3742573 => "Tsakhkahovit\,\ Aragatsotn", + 3742576 => "Tsakhkahovit\,\ Aragatsotn", + 37425781 => "Tsakhkahovit\,\ Aragatsotn", + 374261 => "Sevan\,\ Gegharkunik", + 374262 => "Martuni\,\ Gegharkunik", + 3742622 => "Martuni\,\ Gegharkunik", + 3742623 => "Martuni\/Vardenik\,\ Gegharkunik", + 3742624 => "Martuni\,\ Gegharkunik", + 3742625 => "Martuni\,\ Gegharkunik", + 37426252 => "Vardenik\,\ Gegharkunik", + 37426253 => "Vardenik\,\ Gegharkunik", + 3742626 => "Martuni\,\ Gegharkunik", + 3742627 => "Martuni\,\ Gegharkunik", + 37426272 => "Lichk\,\ Gegharkunik", + 37426281 => "Martuni\/Vardenik\,\ Gegharkunik", + 3742629 => "Martuni\,\ Gegharkunik", + 37426299 => "Eranos\,\ Gegharkunik", + 374263 => "Azatamut\/Getahovit\/Ijevan\/Yenokavan\,\ Tavush", + 3742632 => "Ijevan\/Aygehovit\/Achajur\,\ Tavush", + 3742633 => "Ijevan\,\ Tavush", + 3742634 => "Ijevan\,\ Tavush", + 3742636 => "Ijevan\,\ Tavush", + 3742637 => "Ijevan\,\ Tavush", + 37426374 => "Aygehovit\,\ Tavush", + 37426381 => "Ijevan\/Aygehovit\/Achajur\,\ Tavush", + 3742639 => "Ijevan\,\ Tavush", + 37426392 => "Achajur\,\ Tavush", + 37426397 => "Azatamut\,\ Tavush", + 374264 => "Gavar\/Sarukhan\,\ Gegharkunik", + 3742642 => "Gavar\,\ Gegharkunik", + 3742643 => "Gavar\,\ Gegharkunik", + 3742644 => "Gavar\,\ Gegharkunik", + 3742645 => "Gavar\,\ Gegharkunik", + 3742646 => "Gavar\,\ Gegharkunik", + 37426481 => "Gavar\,\ Gegharkunik", + 3742649 => "Gavar\,\ Gegharkunik", + 374265 => "Tchambarak\,\ Gegharkunik", + 3742652 => "Tchambarak\,\ Gegharkunik", + 3742653 => "Tchambarak\,\ Gegharkunik", + 3742654 => "Tchambarak\/Vahan\,\ Gegharkunik", + 3742656 => "Tchambarak\,\ Gegharkunik", + 37426581 => "Tchambarak\/Vahan\,\ Gegharkunik", + 3742659 => "Tchambarak\,\ Gegharkunik", + 37426596 => "Vahan\,\ Gegharkunik", + 374266 => "Berdavan\/Koghb\/Noyemberyan\,\ Tavush", + 3742662 => "Noyemberyan\,\ Tavush", + 3742663 => "Noyemberyan\/Voskepar\/Koti\/Koghb\,\ Tavush", + 3742665 => "Koghb\/Noyemberyan\,\ Tavush", + 37426652 => "Koghb\,\ Tavush", + 37426653 => "Koghb\,\ Tavush", + 3742666 => "Noyemberyan\,\ Tavush", + 3742667 => "Berdavan\/Noyemberyan\,\ Tavush", + 37426681 => "Noyemberyan\/Voskepar\/Koti\/Koghb\,\ Tavush", + 3742669 => "Noyemberyan\,\ Tavush", + 37426692 => "Archis\,\ Tavush", + 37426693 => "Baghanis\,\ Tavush", + 37426695 => "Zorakan\,\ Tavush", + 37426696 => "Voskepar\,\ Tavush", + 37426699 => "Koti\,\ Tavush", + 374267 => "Aygepar\/Berd\,\ Tavush", + 3742672 => "Berd\,\ Tavush", + 3742673 => "Berd\/Mosesgegh\/Navur\/Norashen\,\ Tavush", + 3742675 => "Artsvaberd\/Berd\,\ Tavush", + 3742676 => "Berd\,\ Tavush", + 3742677 => "Berd\,\ Tavush", + 37426781 => "Berd\/Mosesgegh\/Navur\/Norashen\,\ Tavush", + 3742679 => "Berd\,\ Tavush", + 37426791 => "Navur\,\ Tavush", + 37426794 => "Tovuz\,\ Tavush", + 37426796 => "Mosesgegh\,\ Tavush", + 37426797 => "Norashen\,\ Tavush", + 3742680 => "Dilijan\,\ Tavush", + 3742682 => "Dilijan\,\ Tavush", + 3742683 => "Dilijan\,\ Tavush", + 3742684 => "Dilijan\/Haghartsin\/Teghut\,\ Tavush", + 3742686 => "Dilijan\,\ Tavush", + 37426881 => "Dilijan\/Haghartsin\/Teghut\,\ Tavush", + 3742689 => "Dilijan\,\ Tavush", + 37426895 => "Haghartsin\,\ Tavush", + 37426897 => "Teghut\,\ Tavush", + 374269 => "Vardenis\,\ Gegharkunik", + 374281 => "Getap\/Salli\/Yeghegnadzor\,\ Vayots\ dzor", + 3742812 => "Yeghegnadzor\,\ Vayots\ dzor", + 3742813 => "Yeghegnadzor\/Malishka\/Shatin\,\ Vayots\ dzor", + 3742815 => "Yeghegnadzor\,\ Vayots\ dzor", + 37428151 => "Khachik\,\ Vayots\ dzor", + 3742816 => "Yeghegnadzor\,\ Vayots\ dzor", + 37428181 => "Yeghegnadzor\/Malishka\/Shatin\,\ Vayots\ dzor", + 3742819 => "Yeghegnadzor\,\ Vayots\ dzor", + 37428191 => "Arpi\,\ Vayots\ dzor", + 37428193 => "Aghavnadzor\,\ Vayots\ dzor", + 37428194 => "Areni\,\ Vayots\ dzor", + 37428195 => "Malishka\,\ Vayots\ dzor", + 37428197 => "Yelpin\,\ Vayots\ dzor", + 37428198 => "Rind\,\ Vayots\ dzor", + 37428199 => "Shatin\,\ Vayots\ dzor", + 374282 => "Vayk\,\ Vayots\ dzor", + 3742830 => "Sisian\,\ Syunik", + 3742832 => "Sisian\,\ Syunik", + 3742833 => "Sisian\,\ Syunik", + 37428351 => "Sisian\,\ Syunik", + 3742836 => "Sisian\,\ Syunik", + 3742837 => "Sisian\,\ Syunik", + 37428375 => "Tasik\,\ Syunik", + 3742838 => "Sisian\,\ Syunik", + 3742839 => "Sisian\,\ Syunik", + 37428396 => "Angehakot\,\ Syunik", + 374284 => "Goris\/Verishen\,\ Syunik", + 3742842 => "Goris\,\ Syunik", + 37428427 => "Verishen\,\ Syunik", + 3742843 => "Goris\,\ Syunik", + 3742844 => "Goris\,\ Syunik", + 3742845 => "Goris\,\ Syunik", + 3742846 => "Goris\,\ Syunik", + 37428481 => "Goris\,\ Syunik", + 3742849 => "Goris\,\ Syunik", + 37428491 => "Harzhis\,\ Syunik", + 37428494 => "Khndzoresk\,\ Syunik", + 37428495 => "Shinuhayr\,\ Syunik", + 37428499 => "Kornidzor\,\ Syunik", + 374285 => "Davit\ Bek\/Kajaran\/Kapan\,\ Syunik", + 3742852 => "Kapan\,\ Syunik", + 3742853 => "Kajaran\,\ Syunik", + 37428540 => "Kapan\,\ Syunik", + 37428541 => "Kapan\,\ Syunik", + 37428542 => "Kapan\,\ Syunik", + 37428543 => "Kapan\,\ Syunik", + 37428544 => "Kapan\,\ Syunik", + 37428545 => "Kajaran\,\ Syunik", + 37428546 => "Kajaran\,\ Syunik", + 37428547 => "Kajaran\,\ Syunik", + 37428548 => "Kajaran\,\ Syunik", + 37428549 => "Kajaran\,\ Syunik", + 3742855 => "Kapan\,\ Syunik", + 3742856 => "Kapan\,\ Syunik", + 374285810 => "Kapan\,\ Syunik", + 374285811 => "Kapan\,\ Syunik", + 374285812 => "Kapan\,\ Syunik", + 374285813 => "Kapan\,\ Syunik", + 374285814 => "Kapan\,\ Syunik", + 374285815 => "Kajaran\,\ Syunik", + 374285816 => "Kajaran\,\ Syunik", + 374285817 => "Kajaran\,\ Syunik", + 374285818 => "Kajaran\,\ Syunik", + 374285819 => "Kajaran\,\ Syunik", + 3742859 => "Kapan\,\ Syunik", + 374286 => "Meghri\/Agarak\,\ Syunik", + 3742862 => "Agarak\,\ Syunik", + 3742863 => "Meghri\,\ Syunik", + 3742864 => "Meghri\,\ Syunik", + 3742865 => "Agarak\/Shvanidzor\,\ Syunik", + 3742866 => "Meghri\,\ Syunik", + 374286810 => "Meghri\,\ Syunik", + 374286811 => "Meghri\,\ Syunik", + 374286812 => "Meghri\,\ Syunik", + 374286813 => "Meghri\,\ Syunik", + 374286814 => "Meghri\,\ Syunik", + 374286815 => "Agarak\/Meghri\,\ Syunik", + 374286816 => "Agarak\/Meghri\,\ Syunik", + 374286817 => "Agarak\/Meghri\,\ Syunik", + 374286818 => "Agarak\/Meghri\,\ Syunik", + 374286819 => "Agarak\/Meghri\,\ Syunik", + 3742869 => "Meghri\,\ Syunik", + 37428695 => "Shvanidzor\,\ Syunik", + 374287 => "Jermuk\,\ Vayots\ dzor", + 3742872 => "Jermuk\,\ Vayots\ dzor", + 3742873 => "Jermuk\/Gndevaz\,\ Vayots\ dzor", + 3742876 => "Jermuk\,\ Vayots\ dzor", + 37428781 => "Jermuk\/Gndevaz\,\ Vayots\ dzor", + 3742879 => "Jermuk\,\ Vayots\ dzor", + 37428794 => "Gndevaz\,\ Vayots\ dzor", + 374312 => "Gyumri\/Akhuryan\,\ Shirak", + 3743122 => "Gyumri\,\ Shirak", + 3743123 => "Gyumri\,\ Shirak", + 3743124 => "Gyumri\,\ Shirak", + 3743125 => "Gyumri\,\ Shirak", + 3743126 => "Gyumri\,\ Shirak", + 3743127 => "Akhuryan\,\ Shirak", + 37431280 => "Akhuryan\,\ Shirak", + 37431281 => "Akhuryan\,\ Shirak", + 37431282 => "Akhuryan\,\ Shirak", + 37431283 => "Akhuryan\,\ Shirak", + 37431284 => "Akhuryan\,\ Shirak", + 374312850 => "Gyumri\,\ Shirak", + 374312851 => "Gyumri\,\ Shirak", + 374312852 => "Gyumri\,\ Shirak", + 374312853 => "Gyumri\,\ Shirak", + 374312854 => "Gyumri\,\ Shirak", + 374312855 => "Gyumri\,\ Shirak", + 374312856 => "Gyumri\,\ Shirak", + 374312857 => "Gyumri\,\ Shirak", + 374312858 => "Gyumri\,\ Shirak", + 374312859 => "Akhuryan\,\ Shirak", + 3743129 => "Gyumri\,\ Shirak", + 374322 => "Vanadzor\/Gugark\,\ Lori", + 3743222 => "Vanadzor\,\ Lori", + 3743223 => "Vanadzor\,\ Lori", + 3743224 => "Vanadzor\,\ Lori", + 3743225 => "Vanadzor\,\ Lori", + 3743226 => "Vanadzor\,\ Lori", + 3743227 => "Vanadzor\,\ Lori", + 37432281 => "Vanadzor\,\ Lori", + 3743229 => "Vanadzor\,\ Lori", + 37432293 => "Pambak\,\ Lori", + 37432294 => "Lernapat\,\ Lori", + 37432295 => "Yeghegnut\,\ Lori", + 37432296 => "Margahovit\,\ Lori", + 37432297 => "Dzoraget\,\ Lori", + 37432298 => "Lermontovo\,\ Lori", + 37432299 => "Vahagni\,\ Lori", 37447 => "Nagorno\-Karabakh", 374471 => "Stepanakert", 374474 => "Martakert", diff --git a/lib/Number/Phone/StubCountry/AO.pm b/lib/Number/Phone/StubCountry/AO.pm index 9e19898bc25bd7f779b05404e1eaf627d7bfef48..592100671ad783767aff3a257a53ba5446276d75 100644 --- a/lib/Number/Phone/StubCountry/AO.pm +++ b/lib/Number/Phone/StubCountry/AO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -37,18 +37,18 @@ my $validators = { \\d[26-9] )\\d{5} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' 2\\d(?: [26-9]\\d| \\d[26-9] )\\d{5} ', - 'voip' => '', 'toll_free' => '', - 'mobile' => '9[1-49]\\d{7}', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + 'specialrate' => '', + 'mobile' => '9[1-49]\\d{7}' }; my %areanames = ( 24422 => "Luanda", diff --git a/lib/Number/Phone/StubCountry/AR.pm b/lib/Number/Phone/StubCountry/AR.pm index 29f5cb7ffd4914be337ef08bf73d3e5f9e4b662d..a67a37e28c805923acc01f44881363c0babe1a01 100644 --- a/lib/Number/Phone/StubCountry/AR.pm +++ b/lib/Number/Phone/StubCountry/AR.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '([68]\\d{2})(\\d{3})(\\d{4})', - 'leading_digits' => '[68]' + 'leading_digits' => '[68]', + 'pattern' => '([68]\\d{2})(\\d{3})(\\d{4})' }, { 'leading_digits' => '[2-9]', @@ -38,15 +38,14 @@ my $formatters = [ 'leading_digits' => '[2-9]' }, { - 'leading_digits' => '[2-9]', - 'pattern' => '(\\d{4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{4})', + 'leading_digits' => '[2-9]' }, { 'pattern' => '(9)(11)(\\d{4})(\\d{4})', 'leading_digits' => '911' }, { - 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 9(?: 2(?: @@ -96,18 +95,18 @@ my $formatters = [ ) ) ) - ' + ', + 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{4})' }, { - 'leading_digits' => '9[23]', - 'pattern' => '(9)(\\d{4})(\\d{2})(\\d{4})' + 'pattern' => '(9)(\\d{4})(\\d{2})(\\d{4})', + 'leading_digits' => '9[23]' }, { - 'pattern' => '(11)(\\d{4})(\\d{4})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(11)(\\d{4})(\\d{4})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 2(?: 2(?: @@ -155,24 +154,26 @@ my $formatters = [ [578][45] ) ) - ' + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' }, { - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'leading_digits' => '[23]' + 'leading_digits' => '[23]', + 'pattern' => '(\\d{4})(\\d{2})(\\d{4})' }, { - 'pattern' => '(\\d{3})', 'leading_digits' => ' 1[012]| 911 - ' + ', + 'pattern' => '(\\d{3})' } ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' + 'toll_free' => '800\\d{7}', + 'personal_number' => '', + 'geographic' => ' 11\\d{8}| (?: 2(?: @@ -253,7 +254,33 @@ my $validators = { 670\\d )\\d{6} ', - 'geographic' => ' + 'mobile' => ' + 675\\d{7}| + 9(?: + 11[2-9]\\d{7}| + (?: + 2(?: + 2[013]| + 3[067]| + 49| + 6[01346]| + 80| + 9[147-9] + )| + 3(?: + 36| + 4[12358]| + 5[138]| + 6[24]| + 7[069]| + 8[013578] + ) + )[2-9]\\d{6}| + \\d{4}[2-9]\\d{5} + ) + ', + 'specialrate' => '(60[04579]\\d{7})|(810\\d{7})', + 'fixed_line' => ' 11\\d{8}| (?: 2(?: @@ -334,35 +361,8 @@ my $validators = { 670\\d )\\d{6} ', - 'toll_free' => '800\\d{7}', - 'mobile' => ' - 675\\d{7}| - 9(?: - 11[2-9]\\d{7}| - (?: - 2(?: - 2[013]| - 3[067]| - 49| - 6[01346]| - 80| - 9[147-9] - )| - 3(?: - 36| - 4[12358]| - 5[138]| - 6[24]| - 7[069]| - 8[013578] - ) - )[2-9]\\d{6}| - \\d{4}[2-9]\\d{5} - ) - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(60[04579]\\d{7})|(810\\d{7})' + 'voip' => '', + 'pager' => '' }; my %areanames = ( 5411 => "Buenos\ Aires", diff --git a/lib/Number/Phone/StubCountry/AS.pm b/lib/Number/Phone/StubCountry/AS.pm index 524b68bab45cb54d823e4adbbc3cf965f003d72f..2c3d5137cb43d6c09bd99e486d2e73982187ade6 100644 --- a/lib/Number/Phone/StubCountry/AS.pm +++ b/lib/Number/Phone/StubCountry/AS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -35,6 +35,29 @@ my $formatters = [ my $validators = { 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 684(?: + 2(?: + 5[2468]| + 72 + )| + 7(?: + 3[13]| + 70 + ) + )\\d{4} + ', + 'geographic' => ' + 6846(?: + 22| + 33| + 44| + 55| + 77| + 88| + 9[19] + )\\d{4} + ', 'personal_number' => ' 5(?: 00| @@ -46,10 +69,10 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| @@ -57,18 +80,7 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'mobile' => ' - 684(?: - 2(?: - 5[2468]| - 72 - )| - 7(?: - 3[13]| - 70 - ) - )\\d{4} - ', + 'pager' => '', 'voip' => '', 'fixed_line' => ' 6846(?: @@ -80,17 +92,6 @@ my $validators = { 88| 9[19] )\\d{4} - ', - 'geographic' => ' - 6846(?: - 22| - 33| - 44| - 55| - 77| - 88| - 9[19] - )\\d{4} ' }; use Number::Phone::NANP::Data; diff --git a/lib/Number/Phone/StubCountry/AT.pm b/lib/Number/Phone/StubCountry/AT.pm index 4d61874594eab05149cfaecb81d42c7ebde7d379..1c5621de8ef7ef1a7e7cf6349f948bac055a7d11 100644 --- a/lib/Number/Phone/StubCountry/AT.pm +++ b/lib/Number/Phone/StubCountry/AT.pm @@ -22,30 +22,31 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '(116\\d{3})', - 'leading_digits' => '116' + 'leading_digits' => '116', + 'pattern' => '(116\\d{3})' }, { 'pattern' => '(1)(\\d{3,12})', 'leading_digits' => '1' }, { - 'leading_digits' => '5[079]', - 'pattern' => '(5\\d)(\\d{3,5})' - }, - { - 'pattern' => '(5\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(5\\d)(\\d{3,5})', 'leading_digits' => '5[079]' }, { 'leading_digits' => '5[079]', - 'pattern' => '(5\\d)(\\d{4})(\\d{4,7})' + 'pattern' => '(5\\d)(\\d{3})(\\d{3,4})' + }, + { + 'pattern' => '(5\\d)(\\d{4})(\\d{4,7})', + 'leading_digits' => '5[079]' }, { + 'pattern' => '(\\d{3})(\\d{3,10})', 'leading_digits' => ' 316| 46| @@ -59,8 +60,7 @@ my $formatters = [ [28]0 )| [89] - ', - 'pattern' => '(\\d{3})(\\d{3,10})' + ' }, { 'leading_digits' => ' @@ -88,41 +88,9 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '( - 8(?: - 10\\d| - 2(?: - [01]\\d| - 8\\d? - ) - )\\d{5,9} - )|( - 9(?: - 0[01]| - 3[019] - )\\d{6,10} - )|( - 5(?: - (?: - 0[1-9]| - 17 - )\\d{2,10}| - [79]\\d{3,11} - )| - 720\\d{6,10} - )', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '800\\d{6,10}', - 'mobile' => ' - 6(?: - 5[0-3579]| - 6[013-9]| - [7-9]\\d - )\\d{4,10} - ', 'voip' => '780\\d{6,10}', - 'geographic' => ' + 'pager' => '', + 'fixed_line' => ' 1\\d{3,12}| (?: 2(?: @@ -175,7 +143,39 @@ my $validators = { ) )\\d{3,10} ', - 'fixed_line' => ' + 'specialrate' => '( + 8(?: + 10\\d| + 2(?: + [01]\\d| + 8\\d? + ) + )\\d{5,9} + )|( + 9(?: + 0[01]| + 3[019] + )\\d{6,10} + )|( + 5(?: + (?: + 0[1-9]| + 17 + )\\d{2,10}| + [79]\\d{3,11} + )| + 720\\d{6,10} + )', + 'mobile' => ' + 6(?: + 5[0-3579]| + 6[013-9]| + [7-9]\\d + )\\d{4,10} + ', + 'toll_free' => '800\\d{6,10}', + 'personal_number' => '', + 'geographic' => ' 1\\d{3,12}| (?: 2(?: diff --git a/lib/Number/Phone/StubCountry/AU.pm b/lib/Number/Phone/StubCountry/AU.pm index 8ac9c72d1583fe23815c2d6c80fb508caa275095..18bceb01029c190e61b4cd4c90e2c39d367f13d5 100644 --- a/lib/Number/Phone/StubCountry/AU.pm +++ b/lib/Number/Phone/StubCountry/AU.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'leading_digits' => '[2378]', - 'pattern' => '([2378])(\\d{4})(\\d{4})' + 'pattern' => '([2378])(\\d{4})(\\d{4})', + 'leading_digits' => '[2378]' }, { 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', @@ -37,9 +37,13 @@ my $formatters = [ ' }, { - 'pattern' => '(16)(\\d{3})(\\d{2,4})', + 'pattern' => '(16)(\\d{3,4})', 'leading_digits' => '16' }, + { + 'leading_digits' => '16', + 'pattern' => '(16)(\\d{3})(\\d{2,4})' + }, { 'leading_digits' => ' 1(?: @@ -58,12 +62,12 @@ my $formatters = [ 'pattern' => '(19\\d)(\\d{3})' }, { - 'pattern' => '(19\\d{2})(\\d{4})', - 'leading_digits' => '19[679]' + 'leading_digits' => '19[679]', + 'pattern' => '(19\\d{2})(\\d{4})' }, { - 'pattern' => '(13)(\\d{2})(\\d{2})', - 'leading_digits' => '13[1-9]' + 'leading_digits' => '13[1-9]', + 'pattern' => '(13)(\\d{2})(\\d{2})' } ]; @@ -83,13 +87,25 @@ my $validators = { 9[017-9] )\\d{6} ', + 'specialrate' => '( + 13(?: + 00\\d{3}| + 45[0-4]| + \\d + )\\d{3} + )|( + 19(?: + 0[0126]\\d| + [679] + )\\d{5} + )', 'toll_free' => ' 180(?: 0\\d{3}| 2 )\\d{3} ', - 'fixed_line' => ' + 'geographic' => ' [237]\\d{8}| 8(?: [6-8]\\d{3}| @@ -102,7 +118,10 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '500\\d{6}', + 'pager' => '16\\d{3,7}', + 'voip' => '550\\d{6}', + 'fixed_line' => ' [237]\\d{8}| 8(?: [6-8]\\d{3}| @@ -114,22 +133,7 @@ my $validators = { ) ) )\\d{4} - ', - 'voip' => '550\\d{6}', - 'specialrate' => '( - 13(?: - 00\\d{3}| - 45[0-4]| - \\d - )\\d{3} - )|( - 19(?: - 0[0126]\\d| - [679] - )\\d{5} - )', - 'pager' => '16\\d{3,7}', - 'personal_number' => '500\\d{6}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/AW.pm b/lib/Number/Phone/StubCountry/AW.pm index b4aca2ce3dbb4f8adb69288201d36f81c2485556..b725934e209335db82e453ceb393c920cea2970c 100644 --- a/lib/Number/Phone/StubCountry/AW.pm +++ b/lib/Number/Phone/StubCountry/AW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,22 +31,14 @@ my $formatters = [ ]; my $validators = { - 'voip' => ' - 28\\d{5}| - 501\\d{4} - ', + 'toll_free' => '800\\d{4}', 'geographic' => ' 5(?: 2\\d| 8[1-9] )\\d{4} ', - 'fixed_line' => ' - 5(?: - 2\\d| - 8[1-9] - )\\d{4} - ', + 'personal_number' => '', 'mobile' => ' (?: 5(?: @@ -66,10 +58,18 @@ my $validators = { ) )\\d{4} ', - 'toll_free' => '800\\d{4}', - 'personal_number' => '', + 'specialrate' => '(900\\d{4})', + 'fixed_line' => ' + 5(?: + 2\\d| + 8[1-9] + )\\d{4} + ', 'pager' => '', - 'specialrate' => '(900\\d{4})' + 'voip' => ' + 28\\d{5}| + 501\\d{4} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/AX.pm b/lib/Number/Phone/StubCountry/AX.pm index c752cae49c342202597f5ef7bd45310fe912f040..92eb4ca21241481ea1b14d25b8897da063ef7497 100644 --- a/lib/Number/Phone/StubCountry/AX.pm +++ b/lib/Number/Phone/StubCountry/AX.pm @@ -22,13 +22,11 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = []; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '([67]00\\d{5,6})|( [13]0\\d{4,8}| 2(?: @@ -48,14 +46,16 @@ my $validators = { 5[03-9]\\d{2,7} ) )', - 'voip' => '', - 'geographic' => '18[1-8]\\d{3,9}', - 'fixed_line' => '18[1-8]\\d{3,9}', 'mobile' => ' 4\\d{5,10}| 50\\d{4,8} ', - 'toll_free' => '800\\d{4,7}' + 'geographic' => '18[1-8]\\d{3,9}', + 'personal_number' => '', + 'toll_free' => '800\\d{4,7}', + 'pager' => '', + 'voip' => '', + 'fixed_line' => '18[1-8]\\d{3,9}' }; my %areanames = ( 35813 => "North\ Karelia", diff --git a/lib/Number/Phone/StubCountry/AZ.pm b/lib/Number/Phone/StubCountry/AZ.pm index a3847b3e25c9828af6d853b90726404dc5076005..93c21f61ad3f9b4d5ece29b2b03a344e35f463a4 100644 --- a/lib/Number/Phone/StubCountry/AZ.pm +++ b/lib/Number/Phone/StubCountry/AZ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -39,28 +39,18 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'leading_digits' => '[4-8]' + 'leading_digits' => '[4-8]', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '9' + 'leading_digits' => '9', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { - 'toll_free' => '88\\d{7}', - 'mobile' => ' - (?: - 36554| - (?: - 4[04]| - 5[015]| - 60| - 7[07] - )\\d{3} - )\\d{4} - ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 1[28]\\d{3}| @@ -78,6 +68,19 @@ my $validators = { ) )\\d{4} ', + 'mobile' => ' + (?: + 36554| + (?: + 4[04]| + 5[015]| + 60| + 7[07] + )\\d{3} + )\\d{4} + ', + 'specialrate' => '(900200\\d{3})', + 'personal_number' => '', 'geographic' => ' (?: 1[28]\\d{3}| @@ -95,10 +98,7 @@ my $validators = { ) )\\d{4} ', - 'voip' => '', - 'specialrate' => '(900200\\d{3})', - 'pager' => '', - 'personal_number' => '' + 'toll_free' => '88\\d{7}' }; my %areanames = ( 99412 => "Baku", diff --git a/lib/Number/Phone/StubCountry/BA.pm b/lib/Number/Phone/StubCountry/BA.pm index 928ace2f7b38ce53e384433ef0d176d96f2aa889..dc098ea34be71d06f547a00fd7bb20b6fe86a1b7 100644 --- a/lib/Number/Phone/StubCountry/BA.pm +++ b/lib/Number/Phone/StubCountry/BA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -30,33 +30,28 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' }, { - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'leading_digits' => ' 6[1-356]| [7-9] - ' + ', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' }, { - 'leading_digits' => '6[047]', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})' + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', + 'leading_digits' => '6[047]' } ]; my $validators = { + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: [35]\\d| 49 )\\d{6} ', - 'geographic' => ' - (?: - [35]\\d| - 49 - )\\d{6} - ', - 'voip' => '', - 'toll_free' => '8[08]\\d{6}', + 'specialrate' => '(8[12]\\d{6})|(9[0246]\\d{6})|(70[23]\\d{5})', 'mobile' => ' 6(?: 03| @@ -64,10 +59,15 @@ my $validators = { 71| [1-356] )\\d{6} + ', + 'geographic' => ' + (?: + [35]\\d| + 49 + )\\d{6} ', 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(8[12]\\d{6})|(9[0246]\\d{6})|(70[23]\\d{5})' + 'toll_free' => '8[08]\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/BB.pm b/lib/Number/Phone/StubCountry/BB.pm index 386e46a2587bc98d5968eeef032810f9161e1a0d..1428c6db6c1296a4bfd6905a9ae4a25dfa875f92 100644 --- a/lib/Number/Phone/StubCountry/BB.pm +++ b/lib/Number/Phone/StubCountry/BB.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -45,24 +45,6 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', - 'specialrate' => '( - 900\\d{7}| - 246976\\d{4} - )|( - 246(?: - 292| - 367| - 4(?: - 1[7-9]| - 3[01]| - 44| - 67 - )| - 736 - )\\d{4} - )', - 'voip' => '24631\\d{5}', 'geographic' => ' 246(?: 2(?: @@ -94,6 +76,47 @@ my $validators = { ) )\\d{4} ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'mobile' => ' + 246(?: + 2(?: + [356]\\d| + 4[0-57-9]| + 8[0-79] + )| + 45\\d| + 8(?: + [2-5]\\d| + 83 + ) + )\\d{4} + ', + 'specialrate' => '( + 900\\d{7}| + 246976\\d{4} + )|( + 246(?: + 292| + 367| + 4(?: + 1[7-9]| + 3[01]| + 44| + 67 + )| + 736 + )\\d{4} + )', 'fixed_line' => ' 246(?: 2(?: @@ -125,30 +148,8 @@ my $validators = { ) )\\d{4} ', - 'mobile' => ' - 246(?: - 2(?: - [356]\\d| - 4[0-57-9]| - 8[0-79] - )| - 45\\d| - 8(?: - [2-5]\\d| - 83 - ) - )\\d{4} - ', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ' + 'voip' => '24631\\d{5}', + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/BD.pm b/lib/Number/Phone/StubCountry/BD.pm index da4c45ee8b3b418a3d0d106bedfb1d3cb7053ea4..c79e4c29ecff1e48a7bf5d0c4b87c334a6723faa 100644 --- a/lib/Number/Phone/StubCountry/BD.pm +++ b/lib/Number/Phone/StubCountry/BD.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -77,23 +77,7 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', 'pager' => '', - 'toll_free' => '80[03]\\d{7}', - 'mobile' => ' - (?: - 1[13-9]\\d| - (?: - 3[78]| - 44 - )[02-9]| - 6(?: - 44| - 6[02-9] - ) - )\\d{7} - ', 'voip' => ' 96(?: 0[49]| @@ -103,7 +87,7 @@ my $validators = { ', 'fixed_line' => ' 2(?: - 5\\d{3}| + [45]\\d{3}| 7(?: 1[0-267]| 2[0-289]| @@ -379,9 +363,24 @@ my $validators = { )\\d{2} )\\d{3} ', + 'mobile' => ' + (?: + 1[13-9]\\d| + (?: + 3[78]| + 44 + )[02-9]| + 6(?: + 44| + 6[02-9] + ) + )\\d{7} + ', + 'specialrate' => '', + 'toll_free' => '80[03]\\d{7}', 'geographic' => ' 2(?: - 5\\d{3}| + [45]\\d{3}| 7(?: 1[0-267]| 2[0-289]| @@ -656,7 +655,8 @@ my $validators = { [24]1 )\\d{2} )\\d{3} - ' + ', + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/BE.pm b/lib/Number/Phone/StubCountry/BE.pm index ce27335d55ca6dda8f7c8f52d69a4d73093058e7..06fe2a4aa2a9df4a8e3c79aab9fb89c79ad5f5d9 100644 --- a/lib/Number/Phone/StubCountry/BE.pm +++ b/lib/Number/Phone/StubCountry/BE.pm @@ -22,20 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '4[6-9]' + 'leading_digits' => '4[6-9]', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' }, { + 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})', 'leading_digits' => ' [23]| 4[23]| 9[2-4] - ', - 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})' + ' }, { 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', @@ -49,26 +49,17 @@ my $formatters = [ ' }, { + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'leading_digits' => ' (?: 80| 9 )0 - ', - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})' + ' } ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '( - (?: - 70[2-467]| - 90[0-79] - )\\d{5} - )|(78\\d{6})', - 'voip' => '', 'fixed_line' => ' (?: 1[0-69]| @@ -82,6 +73,10 @@ my $validators = { )\\d{6}| 80[2-8]\\d{5} ', + 'voip' => '', + 'pager' => '', + 'toll_free' => '800\\d{5}', + 'personal_number' => '', 'geographic' => ' (?: 1[0-69]| @@ -95,7 +90,12 @@ my $validators = { )\\d{6}| 80[2-8]\\d{5} ', - 'toll_free' => '800\\d{5}', + 'specialrate' => '( + (?: + 70[2-467]| + 90[0-79] + )\\d{5} + )|(78\\d{6})', 'mobile' => ' 4(?: 6[0135-8]| diff --git a/lib/Number/Phone/StubCountry/BF.pm b/lib/Number/Phone/StubCountry/BF.pm index fa7a7d0d801c835ed78f243b49c3217de9bf392d..ae4dc0a728605f77172c06e0a2fac1220cea5248 100644 --- a/lib/Number/Phone/StubCountry/BF.pm +++ b/lib/Number/Phone/StubCountry/BF.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,6 +31,8 @@ my $formatters = [ ]; my $validators = { + 'voip' => '', + 'pager' => '', 'fixed_line' => ' 2(?: 0(?: @@ -38,37 +40,10 @@ my $validators = { 5[23]| 9[016-9] )| - 4(?: - 4[569]| - 5[4-6]| - 7[0179] - )| - 5(?: - [34]\\d| - 50 - ) - )\\d{4} - ', - 'geographic' => ' - 2(?: - 0(?: - 49| - 5[23]| - 9[016-9] - )| - 4(?: - 4[569]| - 5[4-6]| - 7[0179] - )| - 5(?: - [34]\\d| - 50 - ) + [45]\\d{2} )\\d{4} ', - 'voip' => '', - 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' (?: 55[0-5]| @@ -79,9 +54,18 @@ my $validators = { )\\d{5}| 7\\d{7} ', - 'pager' => '', 'personal_number' => '', - 'specialrate' => '' + 'geographic' => ' + 2(?: + 0(?: + 49| + 5[23]| + 9[016-9] + )| + [45]\\d{2} + )\\d{4} + ', + 'toll_free' => '' }; my %areanames = ( 2262049 => "Kaya", diff --git a/lib/Number/Phone/StubCountry/BG.pm b/lib/Number/Phone/StubCountry/BG.pm index fb2ca9eaa659a32ff4c1422d47f3ae9cb403daf9..d879742eb604385d91276e9642f77c852ebc12b1 100644 --- a/lib/Number/Phone/StubCountry/BG.pm +++ b/lib/Number/Phone/StubCountry/BG.pm @@ -22,38 +22,38 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'leading_digits' => '2', - 'pattern' => '(2)(\\d)(\\d{2})(\\d{2})' + 'pattern' => '(2)(\\d)(\\d{2})(\\d{2})', + 'leading_digits' => '2' }, { 'leading_digits' => '2', 'pattern' => '(2)(\\d{3})(\\d{3,4})' }, { - 'pattern' => '(\\d{3})(\\d{4})', 'leading_digits' => ' 43[124-7]| 70[1-9] - ' + ', + 'pattern' => '(\\d{3})(\\d{4})' }, { + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', 'leading_digits' => ' 43[124-7]| 70[1-9] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})' + ' }, { 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'leading_digits' => '[78]00' }, { - 'leading_digits' => '999', - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'leading_digits' => '999' }, { 'leading_digits' => ' @@ -66,34 +66,16 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})' }, { + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'leading_digits' => ' 48| 8[7-9]| 9[08] - ', - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})' + ' } ]; my $validators = { - 'specialrate' => '(90\\d{6})', - 'pager' => '', - 'personal_number' => '700\\d{5}', - 'mobile' => ' - (?: - 8[7-9]\\d| - 9(?: - 8\\d| - 99 - ) - )\\d{6}| - 4(?: - 3[0789]| - 8\\d - )\\d{5} - ', - 'toll_free' => '800\\d{5}', - 'voip' => '', 'geographic' => ' 2\\d{5,7}| (?: @@ -112,6 +94,22 @@ my $validators = { [1-9]\\d ) )\\d{4,5} + ', + 'personal_number' => '700\\d{5}', + 'toll_free' => '800\\d{5}', + 'specialrate' => '(90\\d{6})', + 'mobile' => ' + (?: + 8[7-9]\\d| + 9(?: + 8\\d| + 99 + ) + )\\d{6}| + 4(?: + 3[0789]| + 8\\d + )\\d{5} ', 'fixed_line' => ' 2\\d{5,7}| @@ -131,7 +129,9 @@ my $validators = { [1-9]\\d ) )\\d{4,5} - ' + ', + 'pager' => '', + 'voip' => '' }; my %areanames = ( 3592 => "Sofia", diff --git a/lib/Number/Phone/StubCountry/BH.pm b/lib/Number/Phone/StubCountry/BH.pm index b56a38e0a44d6ea2ad1511d575715843333b2f6c..c62ac11b7eb47ade110d0083b7f4a9dddea17239 100644 --- a/lib/Number/Phone/StubCountry/BH.pm +++ b/lib/Number/Phone/StubCountry/BH.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,37 +31,8 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(84\\d{6})|( - (?: - 87| - 9[014578] - )\\d{6} - )', - 'pager' => '', - 'personal_number' => '', 'toll_free' => '80\\d{6}', - 'mobile' => ' - (?: - 3(?: - [1-4679]\\d| - 5[013-69]| - 8[0-47-9] - )\\d| - 6(?: - 3(?: - 00| - 33| - 6[16] - )| - 6(?: - [69]\\d| - 3[03-9]| - 7[0-6] - ) - ) - )\\d{4} - ', - 'fixed_line' => ' + 'geographic' => ' (?: 1(?: 3[1356]| @@ -88,7 +59,35 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'mobile' => ' + (?: + 3(?: + [1-4679]\\d| + 5[013-69]| + 8[0-47-9] + )\\d| + 6(?: + 3(?: + 00| + 33| + 6[16] + )| + 6(?: + [69]\\d| + 3[03-9]| + 7[0-6] + ) + ) + )\\d{4} + ', + 'specialrate' => '(84\\d{6})|( + (?: + 87| + 9[014578] + )\\d{6} + )', + 'fixed_line' => ' (?: 1(?: 3[1356]| @@ -115,6 +114,7 @@ my $validators = { ) )\\d{4} ', + 'pager' => '', 'voip' => '' }; diff --git a/lib/Number/Phone/StubCountry/BI.pm b/lib/Number/Phone/StubCountry/BI.pm index ba0dca5f259e8516140a31f0e6eb4b43e2958c18..ca5cc0895227d8a19bd80e6b7812e852c0beef40 100644 --- a/lib/Number/Phone/StubCountry/BI.pm +++ b/lib/Number/Phone/StubCountry/BI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,6 +31,7 @@ my $formatters = [ ]; my $validators = { + 'specialrate' => '', 'mobile' => ' (?: 29| @@ -38,13 +39,12 @@ my $validators = { 7[124-9] )\\d{6} ', - 'toll_free' => '', - 'fixed_line' => '22\\d{6}', + 'personal_number' => '', 'geographic' => '22\\d{6}', + 'toll_free' => '', 'voip' => '', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + 'pager' => '', + 'fixed_line' => '22\\d{6}' }; my %areanames = ( 2572220 => "Bujumbura", diff --git a/lib/Number/Phone/StubCountry/BJ.pm b/lib/Number/Phone/StubCountry/BJ.pm index 10feedcc72b84afc56442908eda5ed663b79d457..f6d3de69d46b68d6939300b0a8d93680711217b1 100644 --- a/lib/Number/Phone/StubCountry/BJ.pm +++ b/lib/Number/Phone/StubCountry/BJ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -32,8 +32,6 @@ my $formatters = [ my $validators = { 'specialrate' => '(81\\d{6})', - 'personal_number' => '', - 'pager' => '', 'mobile' => ' (?: 6[1-8]| @@ -41,7 +39,7 @@ my $validators = { )\\d{6} ', 'toll_free' => '7[3-5]\\d{2}', - 'fixed_line' => ' + 'geographic' => ' 2(?: 02| 1[037]| @@ -49,15 +47,17 @@ my $validators = { 3[68] )\\d{5} ', - 'geographic' => ' + 'personal_number' => '', + 'pager' => '', + 'voip' => '857[58]\\d{4}', + 'fixed_line' => ' 2(?: 02| 1[037]| 2[45]| 3[68] )\\d{5} - ', - 'voip' => '857[58]\\d{4}' + ' }; my %areanames = ( 2292021 => "Ongala", diff --git a/lib/Number/Phone/StubCountry/BL.pm b/lib/Number/Phone/StubCountry/BL.pm index 8b4587dad9c381fa7911a9e20def80c0c37f5fc9..be2865008725a0f532af18681088566f2eb8d00f 100644 --- a/lib/Number/Phone/StubCountry/BL.pm +++ b/lib/Number/Phone/StubCountry/BL.pm @@ -22,18 +22,13 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = []; my $validators = { - 'geographic' => ' - 590(?: - 2[7-9]| - 5[12]| - 87 - )\\d{4} - ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' 590(?: 2[7-9]| @@ -41,17 +36,22 @@ my $validators = { 87 )\\d{4} ', - 'voip' => '', - 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' 690(?: 0[0-7]| [1-9]\\d )\\d{4} ', - 'pager' => '', + 'toll_free' => '', 'personal_number' => '', - 'specialrate' => '' + 'geographic' => ' + 590(?: + 2[7-9]| + 5[12]| + 87 + )\\d{4} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/BM.pm b/lib/Number/Phone/StubCountry/BM.pm index ddc3aa5643d3ab973f1f35a61da238712b8f8e28..d8ce9a0c0c37da405973abe9da89bf585bdfdb98 100644 --- a/lib/Number/Phone/StubCountry/BM.pm +++ b/lib/Number/Phone/StubCountry/BM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -45,8 +45,6 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})', 'geographic' => ' 441(?: 2(?: @@ -63,6 +61,24 @@ my $validators = { )| 824 )\\d{4} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 441(?: + [37]\\d| + 5[0-39] + )\\d{5} ', 'fixed_line' => ' 441(?: @@ -82,22 +98,7 @@ my $validators = { )\\d{4} ', 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'mobile' => ' - 441(?: - [37]\\d| - 5[0-39] - )\\d{5} - ' + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/BN.pm b/lib/Number/Phone/StubCountry/BN.pm index 5f1976d7d59c6968c8146ffc8827f8d4a3bbcd7f..5f3abf31559b59e250971e213080567abdbaadb2 100644 --- a/lib/Number/Phone/StubCountry/BN.pm +++ b/lib/Number/Phone/StubCountry/BN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,14 +31,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '', - 'mobile' => ' - 22[89]\\d{4}| - [78]\\d{6} - ', 'fixed_line' => ' 2(?: [013-9]\\d| @@ -46,6 +38,9 @@ my $validators = { )\\d{4}| [3-5]\\d{6} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' 2(?: [013-9]\\d| @@ -53,7 +48,12 @@ my $validators = { )\\d{4}| [3-5]\\d{6} ', - 'voip' => '' + 'toll_free' => '', + 'mobile' => ' + 22[89]\\d{4}| + [78]\\d{6} + ', + 'specialrate' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/BO.pm b/lib/Number/Phone/StubCountry/BO.pm index f804571eb3dae7cc064acef04e167f268c53df76..29527f06aad967d26cf1b644f218257d89a69a03 100644 --- a/lib/Number/Phone/StubCountry/BO.pm +++ b/lib/Number/Phone/StubCountry/BO.pm @@ -22,23 +22,21 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '([234])(\\d{7})', - 'leading_digits' => '[234]' + 'leading_digits' => '[234]', + 'pattern' => '([234])(\\d{7})' }, { - 'leading_digits' => '[67]', - 'pattern' => '([67]\\d{7})' + 'pattern' => '([67]\\d{7})', + 'leading_digits' => '[67]' } ]; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '', 'voip' => '', 'fixed_line' => ' (?: @@ -60,6 +58,8 @@ my $validators = { ) )\\d{4} ', + 'mobile' => '[67]\\d{7}', + 'specialrate' => '', 'geographic' => ' (?: 2(?: @@ -80,8 +80,8 @@ my $validators = { ) )\\d{4} ', - 'toll_free' => '', - 'mobile' => '[67]\\d{7}' + 'personal_number' => '', + 'toll_free' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/BQ.pm b/lib/Number/Phone/StubCountry/BQ.pm index c56b72385db5a2b5bc1436fba35fef44151e9bdf..4db8321489674489f405de51f51d2d27f6ec7f2d 100644 --- a/lib/Number/Phone/StubCountry/BQ.pm +++ b/lib/Number/Phone/StubCountry/BQ.pm @@ -22,44 +22,54 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = []; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', 'fixed_line' => ' (?: 318[023]| - 416[023]| + 41(?: + 6[023]| + 70 + )| 7(?: 1[578]| 50 )\\d )\\d{3} ', + 'pager' => '', + 'voip' => '', 'geographic' => ' (?: 318[023]| - 416[023]| + 41(?: + 6[023]| + 70 + )| 7(?: 1[578]| 50 )\\d )\\d{3} ', - 'voip' => '', + 'personal_number' => '', 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' (?: - 318[14-68]| - 416[15-9]| + 31(?: + 8[14-8]| + 9[14578] + )| + 416[145-9]| 7(?: 0[01]| 7[07]| - [89]\\d + 8\\d| + 9[056] )\\d )\\d{3} ' diff --git a/lib/Number/Phone/StubCountry/BR.pm b/lib/Number/Phone/StubCountry/BR.pm index d5ddd10cb361461a92fa7d464679aa809d826550..be6ac2390401e6503655ab5afe3cd818ed667814 100644 --- a/lib/Number/Phone/StubCountry/BR.pm +++ b/lib/Number/Phone/StubCountry/BR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -44,8 +44,12 @@ my $formatters = [ 'pattern' => '(\\d{5})(\\d{4})' }, { - 'pattern' => '(\\d{3,5})', - 'leading_digits' => '1[125689]' + 'leading_digits' => '1[125689]', + 'pattern' => '(\\d{3,5})' + }, + { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'leading_digits' => '[1-9][1-9]' }, { 'leading_digits' => ' @@ -59,10 +63,6 @@ my $formatters = [ ', 'pattern' => '(\\d{2})(\\d{5})(\\d{4})' }, - { - 'leading_digits' => '[1-9][1-9]', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' - }, { 'pattern' => '(\\d{4})(\\d{4})', 'leading_digits' => ' @@ -82,26 +82,6 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' - (?: - [14689][1-9]| - 2[12478]| - 3[1-578]| - 5[1-5]| - 7[13-579] - )[2-5]\\d{7} - ', - 'geographic' => ' - (?: - [14689][1-9]| - 2[12478]| - 3[1-578]| - 5[1-5]| - 7[13-579] - )[2-5]\\d{7} - ', - 'toll_free' => '800\\d{6,7}', 'mobile' => ' 1[1-9](?: 7| @@ -111,15 +91,13 @@ my $validators = { 2[12478]| 3[1-578]| [4689][1-9]| - 5[1-5]| + 5[13-5]| 7[13-579] )(?: [6-8]| 9\\d? )\\d{7} ', - 'pager' => '', - 'personal_number' => '', 'specialrate' => '( (?: 300\\d(?:\\d{2})?| @@ -133,7 +111,29 @@ my $validators = { 300| [59]00\\d? )\\d{6} - )' + )', + 'toll_free' => '800\\d{6,7}', + 'geographic' => ' + (?: + [14689][1-9]| + 2[12478]| + 3[1-578]| + 5[13-5]| + 7[13-579] + )[2-5]\\d{7} + ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' + (?: + [14689][1-9]| + 2[12478]| + 3[1-578]| + 5[13-5]| + 7[13-579] + )[2-5]\\d{7} + ' }; my %areanames = ( 5511 => "São\ Paulo", diff --git a/lib/Number/Phone/StubCountry/BS.pm b/lib/Number/Phone/StubCountry/BS.pm index 458f5d35ec1c63b1192209d6f9dfb67cd7fbc4a6..c909a6fffff4ff90c22e681accfd23ec3719d7c6 100644 --- a/lib/Number/Phone/StubCountry/BS.pm +++ b/lib/Number/Phone/StubCountry/BS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -34,6 +34,35 @@ my $formatters = [ ]; my $validators = { + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' + 242(?: + 3(?: + 02| + [236][1-9]| + 4[0-24-9]| + 5[0-68]| + 7[3467]| + 8[0-4]| + 9[2-467] + )| + 461| + 502| + 6(?: + 0[1-3]| + 12| + 7[67]| + 8[78]| + 9[89] + )| + 7(?: + 02| + 88 + ) + )\\d{4} + ', + 'specialrate' => '(900[2-9]\\d{6})', 'mobile' => ' 242(?: 3(?: @@ -56,46 +85,28 @@ my $validators = { 77 )| 6[34]6| - 727 + 7(?: + 27| + 38 + )| + 8(?: + 0[1-9]| + 1[02-9]| + 2\\d| + 99 + ) )\\d{4} ', - 'toll_free' => ' - 242300\\d{4}| - 8(?: + 'personal_number' => ' + 5(?: 00| + 22| + 33| 44| - 55| 66| 77| 88 )[2-9]\\d{6} - ', - 'voip' => '', - 'fixed_line' => ' - 242(?: - 3(?: - 02| - [236][1-9]| - 4[0-24-9]| - 5[0-68]| - 7[3467]| - 8[0-4]| - 9[2-467] - )| - 461| - 502| - 6(?: - 0[1-3]| - 12| - 7[67]| - 8[78]| - 9[89] - )| - 7(?: - 02| - 88 - ) - )\\d{4} ', 'geographic' => ' 242(?: @@ -123,14 +134,13 @@ my $validators = { ) )\\d{4} ', - 'specialrate' => '(900[2-9]\\d{6})', - 'pager' => '', - 'personal_number' => ' - 5(?: + 'toll_free' => ' + 242300\\d{4}| + 8(?: 00| - 22| 33| 44| + 55| 66| 77| 88 diff --git a/lib/Number/Phone/StubCountry/BT.pm b/lib/Number/Phone/StubCountry/BT.pm index c5e026c5946d93a706bce68edc6a64e1dd36553f..1061949013a69667f1a66c740ad703255b309a7a 100644 --- a/lib/Number/Phone/StubCountry/BT.pm +++ b/lib/Number/Phone/StubCountry/BT.pm @@ -22,15 +22,15 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' 1| 77 - ', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' + ' }, { 'pattern' => '([2-8])(\\d{3})(\\d{3})', @@ -42,8 +42,9 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' + 'toll_free' => '', + 'personal_number' => '', + 'geographic' => ' (?: 2[3-6]| [34][5-7]| @@ -53,7 +54,14 @@ my $validators = { 8[2-4] )\\d{5} ', - 'geographic' => ' + 'mobile' => ' + (?: + 1[67]| + 77 + )\\d{6} + ', + 'specialrate' => '', + 'fixed_line' => ' (?: 2[3-6]| [34][5-7]| @@ -63,16 +71,8 @@ my $validators = { 8[2-4] )\\d{5} ', - 'mobile' => ' - (?: - 1[67]| - 77 - )\\d{6} - ', - 'toll_free' => '', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + 'voip' => '', + 'pager' => '' }; my %areanames = ( 9752 => "Thimphu", diff --git a/lib/Number/Phone/StubCountry/BW.pm b/lib/Number/Phone/StubCountry/BW.pm index 71d1ee2be372188911e0f610ce701be1ca168f06..48e169fb2e05d69a95557279833d58a4a2b89aea 100644 --- a/lib/Number/Phone/StubCountry/BW.pm +++ b/lib/Number/Phone/StubCountry/BW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -30,8 +30,8 @@ my $formatters = [ 'leading_digits' => '[2-6]' }, { - 'pattern' => '(7\\d)(\\d{3})(\\d{3})', - 'leading_digits' => '7' + 'leading_digits' => '7', + 'pattern' => '(7\\d)(\\d{3})(\\d{3})' }, { 'leading_digits' => '9', @@ -40,14 +40,7 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 7(?: - [1-6]\\d| - 7[014-8] - )\\d{5} - ', - 'toll_free' => '', - 'fixed_line' => ' + 'geographic' => ' (?: 2(?: 4[0-48]| @@ -55,7 +48,7 @@ my $validators = { 9[0578] )| 3(?: - 1[0235-9]| + 1[0-35-9]| 55| [69]\\d| 7[01] @@ -79,7 +72,16 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '', + 'mobile' => ' + 7(?: + [1-6]\\d| + 7[014-8] + )\\d{5} + ', + 'specialrate' => '(90\\d{5})', + 'fixed_line' => ' (?: 2(?: 4[0-48]| @@ -87,7 +89,7 @@ my $validators = { 9[0578] )| 3(?: - 1[0235-9]| + 1[0-35-9]| 55| [69]\\d| 7[01] @@ -111,10 +113,8 @@ my $validators = { ) )\\d{4} ', - 'voip' => '79[12][01]\\d{4}', - 'specialrate' => '(90\\d{5})', 'pager' => '', - 'personal_number' => '' + 'voip' => '79[12][01]\\d{4}' }; my %areanames = ( 26724 => "Francistown", diff --git a/lib/Number/Phone/StubCountry/BY.pm b/lib/Number/Phone/StubCountry/BY.pm index 8a96123824af153c474e5d9ad28159ee8a2803d0..556939828e74e4e815cb0596dde6be0cf89aff2c 100644 --- a/lib/Number/Phone/StubCountry/BY.pm +++ b/lib/Number/Phone/StubCountry/BY.pm @@ -22,10 +22,11 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'leading_digits' => ' 17(?: [02358]| @@ -34,11 +35,9 @@ my $formatters = [ )| 2[4-9]| [34] - ', - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})' + ' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' 1(?: 5[24]| @@ -57,10 +56,10 @@ my $formatters = [ 2[25]| 3[26] ) - ' + ', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{4})(\\d{2})(\\d{3})', 'leading_digits' => ' 1(?: 5[169]| @@ -80,7 +79,8 @@ my $formatters = [ 2[34]| 3[3-5] ) - ' + ', + 'pattern' => '(\\d{4})(\\d{2})(\\d{3})' }, { 'pattern' => '([89]\\d{2})(\\d{3})(\\d{4})', @@ -90,8 +90,8 @@ my $formatters = [ ' }, { - 'leading_digits' => '82', - 'pattern' => '(82\\d)(\\d{4})(\\d{4})' + 'pattern' => '(82\\d)(\\d{4})(\\d{4})', + 'leading_digits' => '82' }, { 'pattern' => '(800)(\\d{3})', @@ -104,15 +104,30 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '( (?: 810| 902 )\\d{7} )', - 'fixed_line' => ' + 'mobile' => ' + (?: + 2(?: + 5[5679]| + 9[1-9] + )| + 33\\d| + 44\\d + )\\d{6} + ', + 'toll_free' => ' + 8(?: + 0[13]| + 20\\d + )\\d{7}| + 800\\d{3,7} + ', + 'geographic' => ' (?: 1(?: 5(?: @@ -146,7 +161,10 @@ my $validators = { ) )\\d{5} ', - 'geographic' => ' + 'personal_number' => '', + 'pager' => '', + 'voip' => '249\\d{6}', + 'fixed_line' => ' (?: 1(?: 5(?: @@ -179,24 +197,6 @@ my $validators = { ) ) )\\d{5} - ', - 'voip' => '249\\d{6}', - 'mobile' => ' - (?: - 2(?: - 5[5679]| - 9[1-9] - )| - 33\\d| - 44\\d - )\\d{6} - ', - 'toll_free' => ' - 8(?: - 0[13]| - 20\\d - )\\d{7}| - 800\\d{3,7} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/BZ.pm b/lib/Number/Phone/StubCountry/BZ.pm index 0bf51983b1139ceba3c4467dd32e9db264546fbd..b451e85af77b379614b897af320e5fa9a267d800 100644 --- a/lib/Number/Phone/StubCountry/BZ.pm +++ b/lib/Number/Phone/StubCountry/BZ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -37,29 +37,37 @@ my $formatters = [ my $validators = { 'toll_free' => '0800\\d{7}', - 'mobile' => '6[0-35-7]\\d{5}', - 'voip' => '', - 'fixed_line' => ' + 'geographic' => ' (?: - [23458][02]\\d| + 2(?: + [02]\\d| + 36 + )| + [3-58][02]\\d| 7(?: [02]\\d| 32 ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'specialrate' => '', + 'mobile' => '6[0-35-7]\\d{5}', + 'fixed_line' => ' (?: - [23458][02]\\d| + 2(?: + [02]\\d| + 36 + )| + [3-58][02]\\d| 7(?: [02]\\d| 32 ) )\\d{4} ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + 'pager' => '', + 'voip' => '' }; my %areanames = ( 5012 => "Belize\ District", diff --git a/lib/Number/Phone/StubCountry/CA.pm b/lib/Number/Phone/StubCountry/CA.pm index 5def6bf9552a386dd3ae422e10eac3d507d7bcff..71c036f208ba0fb21750df30b151d65e82e22f1f 100644 --- a/lib/Number/Phone/StubCountry/CA.pm +++ b/lib/Number/Phone/StubCountry/CA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -34,7 +34,18 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6}| + 310\\d{4} + ', 'personal_number' => ' 5(?: 00| @@ -46,7 +57,6 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'specialrate' => '(900[2-9]\\d{6})', 'geographic' => '( (?: 2(?: @@ -141,18 +151,9 @@ my $validators = { 90[25] )[2-9]\\d{6} )', + 'specialrate' => '(900[2-9]\\d{6})', 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6}| - 310\\d{4} - ' + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/CC.pm b/lib/Number/Phone/StubCountry/CC.pm index fe837c37c4907cc68a4d7d2608b0b384a699fdd8..85ace30d283ed16622df2eb62e8ce5255fbd25e7 100644 --- a/lib/Number/Phone/StubCountry/CC.pm +++ b/lib/Number/Phone/StubCountry/CC.pm @@ -22,20 +22,11 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = []; my $validators = { - 'geographic' => '89162\\d{4}', - 'fixed_line' => '89162\\d{4}', - 'voip' => '550\\d{6}', - 'toll_free' => ' - 180(?: - 0\\d{3}| - 2 - )\\d{3} - ', 'mobile' => ' 14(?: 5\\d| @@ -52,13 +43,22 @@ my $validators = { 9[017-9] )\\d{6} ', - 'pager' => '', - 'personal_number' => '500\\d{6}', 'specialrate' => '( 13(?: 00\\d{2} )?\\d{4} - )|(190[0126]\\d{6})' + )|(190[0126]\\d{6})', + 'geographic' => '89162\\d{4}', + 'personal_number' => '500\\d{6}', + 'toll_free' => ' + 180(?: + 0\\d{3}| + 2 + )\\d{3} + ', + 'pager' => '', + 'voip' => '550\\d{6}', + 'fixed_line' => '89162\\d{4}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CD.pm b/lib/Number/Phone/StubCountry/CD.pm index d7f0aebd12f93d3302624686a66e441bc7c976a1..1c18095867397377fe4b8097f5e4e1a49372c88a 100644 --- a/lib/Number/Phone/StubCountry/CD.pm +++ b/lib/Number/Phone/StubCountry/CD.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'leading_digits' => '12', - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'leading_digits' => '12' }, { 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})', @@ -47,9 +47,16 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', 'pager' => '', + 'voip' => '', + 'fixed_line' => ' + 1(?: + 2\\d{7}| + \\d{6} + )| + [2-6]\\d{6} + ', + 'specialrate' => '', 'mobile' => ' 8(?: [0-2459]\\d{2}| @@ -58,7 +65,6 @@ my $validators = { 9[017-9]\\d{7} ', 'toll_free' => '', - 'voip' => '', 'geographic' => ' 1(?: 2\\d{7}| @@ -66,13 +72,7 @@ my $validators = { )| [2-6]\\d{6} ', - 'fixed_line' => ' - 1(?: - 2\\d{7}| - \\d{6} - )| - [2-6]\\d{6} - ' + 'personal_number' => '' }; my %areanames = ( 2431 => "Kinshasa", diff --git a/lib/Number/Phone/StubCountry/CF.pm b/lib/Number/Phone/StubCountry/CF.pm index c7e886ed0c0c507c9007fa3ec80872cbef024102..2956c1ee0d9114a9b879c881b9dd7ef4850f4880 100644 --- a/lib/Number/Phone/StubCountry/CF.pm +++ b/lib/Number/Phone/StubCountry/CF.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,14 +31,14 @@ my $formatters = [ ]; my $validators = { - 'geographic' => '2[12]\\d{6}', - 'fixed_line' => '2[12]\\d{6}', 'voip' => '', + 'pager' => '', + 'fixed_line' => '2[12]\\d{6}', 'mobile' => '7[0257]\\d{6}', + 'specialrate' => '(8776\\d{4})', 'toll_free' => '', 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(8776\\d{4})' + 'geographic' => '2[12]\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CG.pm b/lib/Number/Phone/StubCountry/CG.pm index e243c3db6564c12d7c953bf214681a5ecf5bc3fa..f3897054ada16a1ee6ef7e0f387a159320237548 100644 --- a/lib/Number/Phone/StubCountry/CG.pm +++ b/lib/Number/Phone/StubCountry/CG.pm @@ -22,28 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'leading_digits' => '[02]', - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'leading_digits' => '[02]' }, { - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'leading_digits' => '8' + 'leading_digits' => '8', + 'pattern' => '(\\d)(\\d{4})(\\d{4})' } ]; my $validators = { 'specialrate' => '(800\\d{6})', - 'personal_number' => '', - 'pager' => '', - 'toll_free' => '', 'mobile' => '0[14-6]\\d{7}', - 'fixed_line' => '222[1-589]\\d{5}', 'geographic' => '222[1-589]\\d{5}', - 'voip' => '' + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', + 'fixed_line' => '222[1-589]\\d{5}' }; my %areanames = ( 2422221 => "Cuvette", diff --git a/lib/Number/Phone/StubCountry/CH.pm b/lib/Number/Phone/StubCountry/CH.pm index 4bf966f181ccca28dcde31344a3076e437919c79..a93b9772aa8da4269c460b3b49dd95795785d876 100644 --- a/lib/Number/Phone/StubCountry/CH.pm +++ b/lib/Number/Phone/StubCountry/CH.pm @@ -22,22 +22,22 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '([2-9]\\d)(\\d{3})(\\d{2})(\\d{2})', 'leading_digits' => ' [2-7]| [89]1 - ' + ', + 'pattern' => '([2-9]\\d)(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})', 'leading_digits' => ' 8[047]| 90 - ' + ', + 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})' }, { 'leading_digits' => '860', @@ -46,8 +46,8 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '7[5-9]\\d{7}', 'toll_free' => '800\\d{6}', + 'personal_number' => '878\\d{6}', 'geographic' => ' (?: 2[12467]| @@ -58,6 +58,8 @@ my $validators = { [7-9]1 )\\d{7} ', + 'specialrate' => '(84[0248]\\d{6})|(90[016]\\d{6})|(5[18]\\d{7})', + 'mobile' => '7[5-9]\\d{7}', 'fixed_line' => ' (?: 2[12467]| @@ -69,8 +71,6 @@ my $validators = { )\\d{7} ', 'voip' => '', - 'specialrate' => '(84[0248]\\d{6})|(90[016]\\d{6})|(5[18]\\d{7})', - 'personal_number' => '878\\d{6}', 'pager' => '74[0248]\\d{6}' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/CI.pm b/lib/Number/Phone/StubCountry/CI.pm index 2b9fe8ccb14c3cca17a3345472b57acd2c86f85a..92d38616d45aa185f2cd3dbb0af200863bd7f3f2 100644 --- a/lib/Number/Phone/StubCountry/CI.pm +++ b/lib/Number/Phone/StubCountry/CI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,10 +31,19 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '', - 'voip' => '', + 'mobile' => ' + (?: + 0[1-9]| + 4\\d| + 5[14-9]| + 6[015-79]| + 7[4-9]| + 8[7-9] + )\\d{6} + ', + 'toll_free' => '', + 'personal_number' => '', 'geographic' => ' (?: 2(?: @@ -52,6 +61,8 @@ my $validators = { ) )\\d{5} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 2(?: @@ -68,17 +79,6 @@ my $validators = { 6[08] ) )\\d{5} - ', - 'toll_free' => '', - 'mobile' => ' - (?: - 0[1-9]| - 4\\d| - 5[14-9]| - 6[015-79]| - 7[578]| - 8[79] - )\\d{6} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/CK.pm b/lib/Number/Phone/StubCountry/CK.pm index ba400c66ddcd2cdcd0320579d86b69ada5904f01..e864deca1efa89d55f9e2218df8cab25eaa19057 100644 --- a/lib/Number/Phone/StubCountry/CK.pm +++ b/lib/Number/Phone/StubCountry/CK.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -31,6 +31,7 @@ my $formatters = [ ]; my $validators = { + 'pager' => '', 'voip' => '', 'fixed_line' => ' (?: @@ -39,6 +40,8 @@ my $validators = { 4[1-5] )\\d{3} ', + 'mobile' => '[5-8]\\d{4}', + 'specialrate' => '', 'geographic' => ' (?: 2\\d| @@ -46,11 +49,8 @@ my $validators = { 4[1-5] )\\d{3} ', - 'toll_free' => '', - 'mobile' => '[5-8]\\d{4}', 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + 'toll_free' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CL.pm b/lib/Number/Phone/StubCountry/CL.pm index 212f869a27852c3c0aa547ed417e06e9a2c23388..d17c0855603344db21777a18da4d090a48600f8c 100644 --- a/lib/Number/Phone/StubCountry/CL.pm +++ b/lib/Number/Phone/StubCountry/CL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -38,8 +38,8 @@ my $formatters = [ ' }, { - 'pattern' => '(9)(\\d{4})(\\d{4})', - 'leading_digits' => '9' + 'leading_digits' => '9', + 'pattern' => '(9)(\\d{4})(\\d{4})' }, { 'pattern' => '(44)(\\d{3})(\\d{4})', @@ -57,33 +57,25 @@ my $formatters = [ 'leading_digits' => '60' }, { - 'leading_digits' => '1', - 'pattern' => '(1230)(\\d{3})(\\d{4})' + 'pattern' => '(1230)(\\d{3})(\\d{4})', + 'leading_digits' => '1' }, { - 'pattern' => '(\\d{5})(\\d{4})', - 'leading_digits' => '219' + 'leading_digits' => '219', + 'pattern' => '(\\d{5})(\\d{4})' }, { - 'pattern' => '(\\d{4,5})', - 'leading_digits' => '[1-9]' + 'leading_digits' => '[1-9]', + 'pattern' => '(\\d{4,5})' } ]; my $validators = { - 'specialrate' => '(600\\d{7,8})', - 'pager' => '', - 'personal_number' => '', - 'mobile' => '9[3-9]\\d{7}', - 'toll_free' => ' - 800\\d{6}| - 1230\\d{7} - ', 'fixed_line' => ' 2(?: 1962\\d{4}| 2\\d{7}| - 32[0-267]\\d{5} + 32[0-2467]\\d{5} )| (?: 3[2-5]| @@ -92,11 +84,14 @@ my $validators = { 6[13-57] )\\d{7} ', + 'voip' => '44\\d{7}', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' 2(?: 1962\\d{4}| 2\\d{7}| - 32[0-267]\\d{5} + 32[0-2467]\\d{5} )| (?: 3[2-5]| @@ -105,7 +100,12 @@ my $validators = { 6[13-57] )\\d{7} ', - 'voip' => '44\\d{7}' + 'toll_free' => ' + 800\\d{6}| + 1230\\d{7} + ', + 'mobile' => '9[3-9]\\d{7}', + 'specialrate' => '(600\\d{7,8})' }; my %areanames = ( 5622 => "Santiago\,\ Metropolitan\ Region", diff --git a/lib/Number/Phone/StubCountry/CM.pm b/lib/Number/Phone/StubCountry/CM.pm index cdbe21f77f6b72a796c7cb37cdad6ae873583a90..487b0cf136579cae92a374bfbc575beb8f48086c 100644 --- a/lib/Number/Phone/StubCountry/CM.pm +++ b/lib/Number/Phone/StubCountry/CM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { @@ -30,25 +30,20 @@ my $formatters = [ 'pattern' => '([26])(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' [23]| 88 - ', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' + ' }, { - 'pattern' => '(800)(\\d{2})(\\d{3})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(800)(\\d{2})(\\d{3})' } ]; my $validators = { - 'specialrate' => '(88\\d{6})', 'personal_number' => '', - 'pager' => '', - 'mobile' => '6[5-9]\\d{7}', - 'toll_free' => '800\\d{5}', - 'voip' => '', 'geographic' => ' 2(?: 22| @@ -56,13 +51,18 @@ my $validators = { 4[23] )\\d{6} ', + 'toll_free' => '800\\d{5}', + 'mobile' => '6[5-9]\\d{7}', + 'specialrate' => '(88\\d{6})', 'fixed_line' => ' 2(?: 22| 33| 4[23] )\\d{6} - ' + ', + 'voip' => '', + 'pager' => '' }; my %areanames = ( 237222111 => "Mbalmayo", diff --git a/lib/Number/Phone/StubCountry/CN.pm b/lib/Number/Phone/StubCountry/CN.pm index 1e4a0ec7fd7d1cdd30086450fefe477d7112b680..0586292b5bf27e6a2154a5e97a5b99b29d8dcbc5 100644 --- a/lib/Number/Phone/StubCountry/CN.pm +++ b/lib/Number/Phone/StubCountry/CN.pm @@ -22,23 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201831; +our $VERSION = 1.20170314173053; my $formatters = [ { - 'pattern' => '(80\\d{2})(\\d{4})', - 'leading_digits' => '80[2678]' + 'leading_digits' => '80[2678]', + 'pattern' => '(80\\d{2})(\\d{4})' }, { 'leading_digits' => '[48]00', 'pattern' => '([48]00)(\\d{3})(\\d{4})' }, { + 'pattern' => '(\\d{5,6})', 'leading_digits' => ' 100| 95 - ', - 'pattern' => '(\\d{5,6})' + ' }, { 'leading_digits' => ' @@ -66,10 +66,11 @@ my $formatters = [ 'pattern' => '(\\d{3,4})(\\d{4})' }, { - 'pattern' => '(21)(\\d{4})(\\d{4,6})', - 'leading_digits' => '21' + 'leading_digits' => '21', + 'pattern' => '(21)(\\d{4})(\\d{4,6})' }, { + 'pattern' => '([12]\\d)(\\d{4})(\\d{4})', 'leading_digits' => ' 10(?: [1-79]| @@ -79,10 +80,10 @@ my $formatters = [ ) )| 2[02-9] - ', - 'pattern' => '([12]\\d)(\\d{4})(\\d{4})' + ' }, { + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 3(?: 1[02-9]| @@ -138,8 +139,7 @@ my $formatters = [ 4[13]| 5[1-5] ) - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + ' }, { 'leading_digits' => ' @@ -173,97 +173,24 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{4})(\\d{4})' }, { - 'leading_digits' => '8078', - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', + 'leading_digits' => '8078' }, { 'leading_digits' => '1[3-578]', 'pattern' => '(\\d{3})(\\d{4})(\\d{4})' }, { - 'leading_digits' => '10800', - 'pattern' => '(10800)(\\d{3})(\\d{4})' + 'pattern' => '(10800)(\\d{3})(\\d{4})', + 'leading_digits' => '10800' }, { - 'leading_digits' => '950', - 'pattern' => '(\\d{3})(\\d{7,8})' + 'pattern' => '(\\d{3})(\\d{7,8})', + 'leading_digits' => '950' } ]; my $validators = { - 'specialrate' => '( - 400\\d{7}| - 950\\d{7,8}| - (?: - 10| - 2[0-57-9]| - 3(?: - [157]\\d| - 35| - 49| - 9[1-68] - )| - 4(?: - [17]\\d| - 2[179]| - [35][1-9]| - 6[4789]| - 8[23] - )| - 5(?: - [1357]\\d| - 2[37]| - 4[36]| - 6[1-46]| - 80| - 9[1-9] - )| - 6(?: - 3[1-5]| - 6[0238]| - 9[12] - )| - 7(?: - 01| - [1579]\\d| - 2[248]| - 3[014-9]| - 4[3-6]| - 6[023689] - )| - 8(?: - 1[236-8]| - 2[5-7]| - [37]\\d| - 5[14-9]| - 8[3678]| - 9[1-8] - )| - 9(?: - 0[1-3689]| - 1[1-79]| - [379]\\d| - 4[13]| - 5[1-5] - ) - )96\\d{3,4} - )|(16[08]\\d{5})', - 'pager' => '', - 'personal_number' => '', - 'mobile' => ' - 1(?: - [38]\\d| - 4[57]| - 5[0-35-9]| - 7[0136-8] - )\\d{8} - ', - 'toll_free' => ' - (?: - 10 - )?800\\d{7} - ', - 'voip' => '', 'geographic' => ' 21(?: 100\\d{2}| @@ -375,6 +302,77 @@ my $validators = { 81 )\\d{4} ', + 'personal_number' => '', + 'toll_free' => ' + (?: + 10 + )?800\\d{7} + ', + 'mobile' => ' + 1(?: + [38]\\d| + 4[57]| + 5[0-35-9]| + 7[0-35-8] + )\\d{8} + ', + 'specialrate' => '( + 400\\d{7}| + 950\\d{7,8}| + (?: + 10| + 2[0-57-9]| + 3(?: + [157]\\d| + 35| + 49| + 9[1-68] + )| + 4(?: + [17]\\d| + 2[179]| + [35][1-9]| + 6[4789]| + 8[23] + )| + 5(?: + [1357]\\d| + 2[37]| + 4[36]| + 6[1-46]| + 80| + 9[1-9] + )| + 6(?: + 3[1-5]| + 6[0238]| + 9[12] + )| + 7(?: + 01| + [1579]\\d| + 2[248]| + 3[014-9]| + 4[3-6]| + 6[023689] + )| + 8(?: + 1[236-8]| + 2[5-7]| + [37]\\d| + 5[14-9]| + 8[3678]| + 9[1-8] + )| + 9(?: + 0[1-3689]| + 1[1-79]| + [379]\\d| + 4[13]| + 5[1-5] + ) + )96\\d{3,4} + )|(16[08]\\d{5})', 'fixed_line' => ' 21(?: 100\\d{2}| @@ -485,7 +483,9 @@ my $validators = { 7[018]| 81 )\\d{4} - ' + ', + 'pager' => '', + 'voip' => '' }; my %areanames = ( 8610 => "Beijing", @@ -107264,7 +107264,34 @@ my %areanames = ( 861772437 => "Heyuan\,\ Guangdong", 861772438 => "Meizhou\,\ Guangdong", 861772439 => "Zhaoqing\,\ Guangdong", - 8617726 => "Chongqing", + 86177260 => "Tianjin", + 861772610 => "Changde\,\ Hunan", + 861772611 => "Changde\,\ Hunan", + 861772612 => "Xiangtan\,\ Hunan", + 861772613 => "Xiangtan\,\ Hunan", + 861772614 => "Hengyang\,\ Hunan", + 861772615 => "Hengyang\,\ Hunan", + 861772616 => "Hengyang\,\ Hunan", + 861772617 => "Yiyang\,\ Hunan", + 861772618 => "Yiyang\,\ Hunan", + 861772619 => "Yiyang\,\ Hunan", + 86177262 => "Chongqing", + 86177263 => "Nanchong\,\ Sichuan", + 86177264 => "Chengdu\,\ Sichuan", + 861772650 => "Deyang\,\ Sichuan", + 861772651 => "Deyang\,\ Sichuan", + 861772652 => "Deyang\,\ Sichuan", + 861772653 => "Deyang\,\ Sichuan", + 861772654 => "Deyang\,\ Sichuan", + 861772655 => "Bazhong\,\ Sichuan", + 861772656 => "Neijiang\,\ Sichuan", + 861772657 => "Leshan\,\ Sichuan", + 861772658 => "Leshan\,\ Sichuan", + 861772659 => "Leshan\,\ Sichuan", + 86177266 => "Chongqing", + 86177267 => "Urumchi\,\ Xinjiang", + 86177268 => "Urumchi\,\ Xinjiang", + 86177269 => "Lanzhou\,\ Gansu", 861772700 => "Jiangmen\,\ Guangdong", 861772701 => "Jiangmen\,\ Guangdong", 861772702 => "Jiangmen\,\ Guangdong", diff --git a/lib/Number/Phone/StubCountry/CO.pm b/lib/Number/Phone/StubCountry/CO.pm index 821183f42348639b8914f5e5f6f7063d2b8a2bf2..f080b32adfe412b54433865cd6a5907ea8bf0dcc 100644 --- a/lib/Number/Phone/StubCountry/CO.pm +++ b/lib/Number/Phone/StubCountry/CO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -44,7 +44,6 @@ my $formatters = [ 'leading_digits' => '3' }, { - 'pattern' => '(1)(\\d{3})(\\d{7})', 'leading_digits' => ' 1(?: 800| @@ -53,11 +52,15 @@ my $formatters = [ 4[78] ) ) - ' + ', + 'pattern' => '(1)(\\d{3})(\\d{7})' } ]; my $validators = { + 'toll_free' => '1800\\d{7}', + 'geographic' => '[124-8][2-9]\\d{6}', + 'personal_number' => '', 'mobile' => ' 3(?: 0[0-5]| @@ -66,18 +69,15 @@ my $validators = { 5[01] )\\d{7} ', - 'toll_free' => '1800\\d{7}', - 'geographic' => '[124-8][2-9]\\d{6}', - 'fixed_line' => '[124-8][2-9]\\d{6}', - 'voip' => '', 'specialrate' => '( 19(?: 0[01]| 4[78] )\\d{7} )', + 'fixed_line' => '[124-8][2-9]\\d{6}', 'pager' => '', - 'personal_number' => '' + 'voip' => '' }; my %areanames = ( 5712 => "Bogotá", diff --git a/lib/Number/Phone/StubCountry/CR.pm b/lib/Number/Phone/StubCountry/CR.pm index 5507f0e7f955727d925e6ca6cd64da210bd8f272..e527cda64a30b88effedd6abb52e35f53e4fbaaa 100644 --- a/lib/Number/Phone/StubCountry/CR.pm +++ b/lib/Number/Phone/StubCountry/CR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -39,27 +39,31 @@ my $formatters = [ ]; my $validators = { - 'voip' => ' - 210[0-6]\\d{4}| - 4\\d{7}| - 5100\\d{4} - ', 'geographic' => '2[0-24-7]\\d{6}', - 'fixed_line' => '2[0-24-7]\\d{6}', + 'personal_number' => '', + 'toll_free' => '800\\d{7}', + 'specialrate' => '(90[059]\\d{7})', 'mobile' => ' 5(?: 0[01]| 7[0-3] )\\d{5}| + 6(?: + [0-4]\\d{3}| + 500[01] + )\\d{3}| (?: - [67][0-3]| + 7[0-3]| 8[3-9] )\\d{6} ', - 'toll_free' => '800\\d{7}', - 'personal_number' => '', + 'fixed_line' => '2[0-24-7]\\d{6}', 'pager' => '', - 'specialrate' => '(90[059]\\d{7})' + 'voip' => ' + 210[0-6]\\d{4}| + 4\\d{7}| + 5100\\d{4} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CU.pm b/lib/Number/Phone/StubCountry/CU.pm index f771d80f7981d89a74b1fe03ab9e45b1868f9c1d..6984d5bea98a9eedab677936eff60a8f584bcf8d 100644 --- a/lib/Number/Phone/StubCountry/CU.pm +++ b/lib/Number/Phone/StubCountry/CU.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,21 +30,17 @@ my $formatters = [ 'pattern' => '(\\d)(\\d{6,7})' }, { - 'leading_digits' => '[2-4]', - 'pattern' => '(\\d{2})(\\d{4,6})' + 'pattern' => '(\\d{2})(\\d{4,6})', + 'leading_digits' => '[2-4]' }, { - 'pattern' => '(\\d)(\\d{7})', - 'leading_digits' => '5' + 'leading_digits' => '5', + 'pattern' => '(\\d)(\\d{7})' } ]; my $validators = { - 'specialrate' => '', 'pager' => '', - 'personal_number' => '', - 'mobile' => '5\\d{7}', - 'toll_free' => '', 'voip' => '', 'fixed_line' => ' 2[1-4]\\d{5,6}| @@ -59,6 +55,8 @@ my $validators = { )| 7\\d{6,7} ', + 'mobile' => '5\\d{7}', + 'specialrate' => '', 'geographic' => ' 2[1-4]\\d{5,6}| 3(?: @@ -71,7 +69,9 @@ my $validators = { [78]\\d{4,6} )| 7\\d{6,7} - ' + ', + 'personal_number' => '', + 'toll_free' => '' }; my %areanames = ( 5321 => "Guantánamo\ Province", diff --git a/lib/Number/Phone/StubCountry/CV.pm b/lib/Number/Phone/StubCountry/CV.pm index 48a403685af50dd37a94f673e94691ceebf1e1fd..d7b15ec700b43ac560e85a697dd5e233263a01fe 100644 --- a/lib/Number/Phone/StubCountry/CV.pm +++ b/lib/Number/Phone/StubCountry/CV.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,11 +31,15 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', + 'mobile' => ' + (?: + 9\\d| + 59 + )\\d{5} + ', 'specialrate' => '', - 'voip' => '', - 'fixed_line' => ' + 'personal_number' => '', + 'geographic' => ' 2(?: 2[1-7]| 3[0-8]| @@ -46,7 +50,10 @@ my $validators = { 8[1-5] )\\d{4} ', - 'geographic' => ' + 'toll_free' => '', + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' 2(?: 2[1-7]| 3[0-8]| @@ -56,13 +63,6 @@ my $validators = { 7[1-3]| 8[1-5] )\\d{4} - ', - 'toll_free' => '', - 'mobile' => ' - (?: - 9\\d| - 59 - )\\d{5} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/CW.pm b/lib/Number/Phone/StubCountry/CW.pm index 2146a64e176e0a77e12de8577c0b8cfdf1bc3528..b8b711ebb8a9e59ecf4b0964b4edffd402186eac 100644 --- a/lib/Number/Phone/StubCountry/CW.pm +++ b/lib/Number/Phone/StubCountry/CW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,15 +30,27 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{4})' }, { - 'leading_digits' => '9', - 'pattern' => '(9)(\\d{3})(\\d{4})' + 'pattern' => '(9)(\\d{3})(\\d{4})', + 'leading_digits' => '9' } ]; my $validators = { - 'specialrate' => '(60[0-2]\\d{4})', 'pager' => '955\\d{5}', - 'personal_number' => '', + 'voip' => '', + 'fixed_line' => ' + 9(?: + [48]\\d{2}| + 50\\d| + 7(?: + 2[0-24]| + [34]\\d| + 6[35-7]| + 77| + 8[7-9] + ) + )\\d{4} + ', 'mobile' => ' 9(?: 5(?: @@ -51,8 +63,8 @@ my $validators = { ) )\\d{4} ', + 'specialrate' => '(60[0-2]\\d{4})', 'toll_free' => '', - 'voip' => '', 'geographic' => ' 9(?: [48]\\d{2}| @@ -66,19 +78,7 @@ my $validators = { ) )\\d{4} ', - 'fixed_line' => ' - 9(?: - [48]\\d{2}| - 50\\d| - 7(?: - 2[0-24]| - [34]\\d| - 6[35-7]| - 77| - 8[7-9] - ) - )\\d{4} - ' + 'personal_number' => '' }; my %areanames = ( 599318 => "St\.\ Eustatius", diff --git a/lib/Number/Phone/StubCountry/CX.pm b/lib/Number/Phone/StubCountry/CX.pm index 5e09336b2d25c137c558a3be800417d761dec000..70455b018a7abc36e6192331410ce09c7d072106 100644 --- a/lib/Number/Phone/StubCountry/CX.pm +++ b/lib/Number/Phone/StubCountry/CX.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = []; @@ -32,8 +32,6 @@ my $validators = { 00\\d{2} )?\\d{4} )|(190[0126]\\d{6})', - 'pager' => '', - 'personal_number' => '500\\d{6}', 'mobile' => ' 14(?: 5\\d| @@ -50,6 +48,8 @@ my $validators = { 9[017-9] )\\d{6} ', + 'personal_number' => '500\\d{6}', + 'geographic' => '89164\\d{4}', 'toll_free' => ' 180(?: 0\\d{3}| @@ -57,8 +57,8 @@ my $validators = { )\\d{3} ', 'voip' => '550\\d{6}', - 'fixed_line' => '89164\\d{4}', - 'geographic' => '89164\\d{4}' + 'pager' => '', + 'fixed_line' => '89164\\d{4}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CY.pm b/lib/Number/Phone/StubCountry/CY.pm index 635c311edeb03abf651cc507560c296cfe60fcf6..c09d7050ebfc0c0ccc17a7aceab5b9a494baa6f1 100644 --- a/lib/Number/Phone/StubCountry/CY.pm +++ b/lib/Number/Phone/StubCountry/CY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,19 +31,19 @@ my $formatters = [ ]; my $validators = { + 'pager' => '', + 'voip' => '', + 'fixed_line' => '2[2-6]\\d{6}', + 'mobile' => '9[4-79]\\d{6}', 'specialrate' => '(80[1-9]\\d{5})|(90[09]\\d{5})|( (?: 50| 77 )\\d{6} )', - 'personal_number' => '700\\d{5}', - 'pager' => '', - 'toll_free' => '800\\d{5}', - 'mobile' => '9[4-79]\\d{6}', - 'voip' => '', 'geographic' => '2[2-6]\\d{6}', - 'fixed_line' => '2[2-6]\\d{6}' + 'personal_number' => '700\\d{5}', + 'toll_free' => '800\\d{5}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/CZ.pm b/lib/Number/Phone/StubCountry/CZ.pm index 00441e6cf9f4cfde5203f95a566bbca79b21aa03..c586c1c2d4d3563c19941debf04b3d584e65268a 100644 --- a/lib/Number/Phone/StubCountry/CZ.pm +++ b/lib/Number/Phone/StubCountry/CZ.pm @@ -22,19 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([2-9]\\d{2})(\\d{3})(\\d{3})', 'leading_digits' => ' [2-8]| 9[015-7] - ' + ', + 'pattern' => '([2-9]\\d{2})(\\d{3})(\\d{3})' }, { - 'pattern' => '(96\\d)(\\d{3})(\\d{3})(\\d{3})', - 'leading_digits' => '96' + 'leading_digits' => '96', + 'pattern' => '(96\\d)(\\d{3})(\\d{3})(\\d{3})' }, { 'pattern' => '(9\\d)(\\d{3})(\\d{3})(\\d{3})', @@ -43,8 +43,7 @@ my $formatters = [ ]; my $validators = { - 'voip' => '9[17]0\\d{6}', - 'geographic' => ' + 'fixed_line' => ' 2\\d{8}| (?: 3[1257-9]| @@ -52,7 +51,10 @@ my $validators = { 5[13-9] )\\d{7} ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '9[17]0\\d{6}', + 'toll_free' => '800\\d{6}', + 'geographic' => ' 2\\d{8}| (?: 3[1257-9]| @@ -60,7 +62,7 @@ my $validators = { 5[13-9] )\\d{7} ', - 'toll_free' => '800\\d{6}', + 'personal_number' => '70[01]\\d{6}', 'mobile' => ' (?: 60[1-8]| @@ -70,8 +72,6 @@ my $validators = { ) )\\d{6} ', - 'personal_number' => '70[01]\\d{6}', - 'pager' => '', 'specialrate' => '(8[134]\\d{7})|( 9(?: 0[05689]| diff --git a/lib/Number/Phone/StubCountry/DE.pm b/lib/Number/Phone/StubCountry/DE.pm index 982512c5b7b39e3aede8684c853930a44ab75a5a..fcc0ec9fa0a6d2fab7b85462c9ba82350e2fa5d4 100644 --- a/lib/Number/Phone/StubCountry/DE.pm +++ b/lib/Number/Phone/StubCountry/DE.pm @@ -22,20 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '1[67]', - 'pattern' => '(1\\d{2})(\\d{7,8})' + 'pattern' => '(1\\d{2})(\\d{7,8})', + 'leading_digits' => '1[67]' }, { 'leading_digits' => '15[0568]', 'pattern' => '(15\\d{3})(\\d{6})' }, { - 'pattern' => '(1\\d{3})(\\d{7})', - 'leading_digits' => '15' + 'leading_digits' => '15', + 'pattern' => '(1\\d{3})(\\d{7})' }, { 'leading_digits' => ' @@ -67,6 +67,7 @@ my $formatters = [ ' }, { + 'pattern' => '(\\d{4})(\\d{2,11})', 'leading_digits' => ' [24-6]| [7-9](?: @@ -137,34 +138,33 @@ my $formatters = [ 9[1468] ) ) - ', - 'pattern' => '(\\d{4})(\\d{2,11})' + ' }, { - 'pattern' => '(3\\d{4})(\\d{1,10})', - 'leading_digits' => '3' + 'leading_digits' => '3', + 'pattern' => '(3\\d{4})(\\d{1,10})' }, { - 'leading_digits' => '800', - 'pattern' => '(800)(\\d{7,12})' + 'pattern' => '(800)(\\d{7,12})', + 'leading_digits' => '800' }, { + 'pattern' => '(\\d{3})(\\d)(\\d{4,10})', 'leading_digits' => ' 1(?: 37| 80 )| 900[1359] - ', - 'pattern' => '(\\d{3})(\\d)(\\d{4,10})' + ' }, { - 'leading_digits' => '181', - 'pattern' => '(1\\d{2})(\\d{5,11})' + 'pattern' => '(1\\d{2})(\\d{5,11})', + 'leading_digits' => '181' }, { - 'leading_digits' => '18500', - 'pattern' => '(18\\d{3})(\\d{6})' + 'pattern' => '(18\\d{3})(\\d{6})', + 'leading_digits' => '18500' }, { 'pattern' => '(18\\d{2})(\\d{7})', @@ -175,16 +175,16 @@ my $formatters = [ 'pattern' => '(18\\d)(\\d{8})' }, { - 'pattern' => '(700)(\\d{4})(\\d{4})', - 'leading_digits' => '700' + 'leading_digits' => '700', + 'pattern' => '(700)(\\d{4})(\\d{4})' }, { - 'leading_digits' => '138', - 'pattern' => '(138)(\\d{4})' + 'pattern' => '(138)(\\d{4})', + 'leading_digits' => '138' }, { - 'pattern' => '(15[013-68])(\\d{2})(\\d{8})', - 'leading_digits' => '15[013-68]' + 'leading_digits' => '15[013-68]', + 'pattern' => '(15[013-68])(\\d{2})(\\d{8})' }, { 'pattern' => '(15[279]\\d)(\\d{2})(\\d{7})', @@ -202,18 +202,13 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 1(?: - 5[0-25-9]\\d{8}| - 6[023]\\d{7,8}| - 7(?: - [0-57-9]\\d?| - 6\\d - )\\d{7} + 'voip' => '', + 'pager' => ' + 16(?: + 4\\d{1,10}| + [89]\\d{1,11} ) ', - 'toll_free' => '800\\d{7,12}', - 'voip' => '', 'fixed_line' => ' [246]\\d{5,13}| 3(?: @@ -242,6 +237,34 @@ my $validators = { [2-9]\\d{4,11} ) ', + 'mobile' => ' + 1(?: + 5[0-25-9]\\d{8}| + 6[023]\\d{7,8}| + 7\\d{8,9} + ) + ', + 'specialrate' => '( + 1(?: + 3(?: + 7[1-6]\\d{6}| + 8\\d{4} + )| + 80\\d{5,11} + ) + )|( + 137[7-9]\\d{6}| + 900(?: + [135]\\d{6}| + 9\\d{7} + ) + )|( + 18(?: + 1\\d{5,11}| + [2-9]\\d{8} + ) + )', + 'personal_number' => '700\\d{8}', 'geographic' => ' [246]\\d{5,13}| 3(?: @@ -270,33 +293,7 @@ my $validators = { [2-9]\\d{4,11} ) ', - 'specialrate' => '( - 1(?: - 3(?: - 7[1-6]\\d{6}| - 8\\d{4} - )| - 80\\d{5,11} - ) - )|( - 137[7-9]\\d{6}| - 900(?: - [135]\\d{6}| - 9\\d{7} - ) - )|( - 18(?: - 1\\d{5,11}| - [2-9]\\d{8} - ) - )', - 'personal_number' => '700\\d{8}', - 'pager' => ' - 16(?: - 4\\d{1,10}| - [89]\\d{1,11} - ) - ' + 'toll_free' => '800\\d{7,12}' }; my %areanames = ( 49201 => "Essen", diff --git a/lib/Number/Phone/StubCountry/DJ.pm b/lib/Number/Phone/StubCountry/DJ.pm index df8caf7de2fb10348b39cbd22b7a63ac5b94470b..8ea4f37da4c8a4e054da365572d6d02a76f847ec 100644 --- a/lib/Number/Phone/StubCountry/DJ.pm +++ b/lib/Number/Phone/StubCountry/DJ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,24 +31,24 @@ my $formatters = [ ]; my $validators = { + 'mobile' => '77\\d{6}', + 'specialrate' => '', 'toll_free' => '', - 'mobile' => '77[0-26-8]\\d{5}', - 'voip' => '', - 'fixed_line' => ' + 'geographic' => ' 2(?: 1[2-5]| 7[45] )\\d{5} ', - 'geographic' => ' + 'personal_number' => '', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' 2(?: 1[2-5]| 7[45] )\\d{5} - ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/DK.pm b/lib/Number/Phone/StubCountry/DK.pm index 6f7c6cc5384b3fd07d07b55b93e0c293061a2eb7..efae163c07b627b2540efc2ab00149fe30bf9732 100644 --- a/lib/Number/Phone/StubCountry/DK.pm +++ b/lib/Number/Phone/StubCountry/DK.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -32,8 +32,7 @@ my $formatters = [ my $validators = { 'pager' => '', - 'personal_number' => '', - 'specialrate' => '(90\\d{6})', + 'voip' => '', 'fixed_line' => ' (?: [2-7]\\d| @@ -41,22 +40,23 @@ my $validators = { 9[1-36-9] )\\d{6} ', - 'geographic' => ' + 'mobile' => ' (?: [2-7]\\d| 8[126-9]| 9[1-36-9] )\\d{6} ', - 'voip' => '', - 'mobile' => ' + 'specialrate' => '(90\\d{6})', + 'toll_free' => '80\\d{6}', + 'geographic' => ' (?: [2-7]\\d| 8[126-9]| 9[1-36-9] )\\d{6} ', - 'toll_free' => '80\\d{6}' + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/DM.pm b/lib/Number/Phone/StubCountry/DM.pm index 31a658668fb845a036e0f17db7c84e69215715d9..b8b8bc7c5b060e51c9166bfa44324d3315259ee7 100644 --- a/lib/Number/Phone/StubCountry/DM.pm +++ b/lib/Number/Phone/StubCountry/DM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,6 +34,28 @@ my $formatters = [ ]; my $validators = { + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'geographic' => ' 767(?: 2(?: @@ -47,6 +69,17 @@ my $validators = { 50[0-4]| 70[1-3] )\\d{4} + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 767(?: + 2(?: + [234689]5| + 7[5-7] + )| + 31[5-7]| + 61[2-7] + )\\d{4} ', 'fixed_line' => ' 767(?: @@ -63,39 +96,7 @@ my $validators = { )\\d{4} ', 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'mobile' => ' - 767(?: - 2(?: - [234689]5| - 7[5-7] - )| - 31[5-7]| - 61[2-7] - )\\d{4} - ', - 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'specialrate' => '(900[2-9]\\d{6})' + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/DO.pm b/lib/Number/Phone/StubCountry/DO.pm index 77b027bd957e780bac63b25f83e632f91f30faa0..8e8a412660f564f407d5dc316b2434370babfa87 100644 --- a/lib/Number/Phone/StubCountry/DO.pm +++ b/lib/Number/Phone/StubCountry/DO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,7 +34,29 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', + 'specialrate' => '(900[2-9]\\d{6})', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'geographic' => '( 8(?: [04]9[2-9]\\d{6}| @@ -86,29 +108,8 @@ my $validators = { )\\d{4} ) |8[024]9[2-9]\\d{6})', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'specialrate' => '(900[2-9]\\d{6})' + 'voip' => '', + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/DZ.pm b/lib/Number/Phone/StubCountry/DZ.pm index 222d887b28f11dacb30e249c97f134f7fa6d06f4..6ada8214afd38280a753c7bae5d55d3608a51ae0 100644 --- a/lib/Number/Phone/StubCountry/DZ.pm +++ b/lib/Number/Phone/StubCountry/DZ.pm @@ -22,28 +22,36 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[1-4]', - 'pattern' => '([1-4]\\d)(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '([1-4]\\d)(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '[1-4]' }, { - 'leading_digits' => '[5-8]', - 'pattern' => '([5-8]\\d{2})(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '([5-8]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '[5-8]' }, { - 'pattern' => '(9\\d)(\\d{3})(\\d{2})(\\d{2})', - 'leading_digits' => '9' + 'leading_digits' => '9', + 'pattern' => '(9\\d)(\\d{3})(\\d{2})(\\d{2})' } ]; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '(80[12]1\\d{5})|(80[3-689]1\\d{5})', - 'voip' => '98[23]\\d{6}', + 'mobile' => ' + (?: + 5[4-6]| + 7[7-9] + )\\d{7}| + 6(?: + [569]\\d| + 7[0-6] + )\\d{6} + ', + 'toll_free' => '800\\d{6}', 'geographic' => ' (?: 1\\d| @@ -53,6 +61,9 @@ my $validators = { )\\d{6}| 9619\\d{5} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '98[23]\\d{6}', 'fixed_line' => ' (?: 1\\d| @@ -61,17 +72,6 @@ my $validators = { 4[0135689] )\\d{6}| 9619\\d{5} - ', - 'toll_free' => '800\\d{6}', - 'mobile' => ' - (?: - 5[4-6]| - 7[7-9] - )\\d{7}| - 6(?: - [569]\\d| - 7[0-6] - )\\d{6} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/EC.pm b/lib/Number/Phone/StubCountry/EC.pm index 36059ab0eacb1129d43605cf0419f8f249bb5c84..91917a4070913f9969786972fe5023eb4eb68fc4 100644 --- a/lib/Number/Phone/StubCountry/EC.pm +++ b/lib/Number/Phone/StubCountry/EC.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -37,13 +37,13 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' }, { - 'pattern' => '(1800)(\\d{3})(\\d{3,4})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(1800)(\\d{3})(\\d{3,4})' } ]; my $validators = { - 'toll_free' => '1800\\d{6,7}', + 'specialrate' => '', 'mobile' => ' 9(?: (?: @@ -59,11 +59,11 @@ my $validators = { )\\d{5} ', 'geographic' => '[2-7][2-7]\\d{6}', - 'fixed_line' => '[2-7][2-7]\\d{6}', - 'voip' => '[2-7]890\\d{4}', - 'specialrate' => '', + 'personal_number' => '', + 'toll_free' => '1800\\d{6,7}', 'pager' => '', - 'personal_number' => '' + 'voip' => '[2-7]890\\d{4}', + 'fixed_line' => '[2-7][2-7]\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/EE.pm b/lib/Number/Phone/StubCountry/EE.pm index 61ba288ee016b2e5efe47e1fedc8ba366e0cf866..fb02f9f46c90e9e83723125d1c6ca30d1d0c1f50 100644 --- a/lib/Number/Phone/StubCountry/EE.pm +++ b/lib/Number/Phone/StubCountry/EE.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([3-79]\\d{2})(\\d{4})', 'leading_digits' => ' [369]| 4[3-8]| @@ -43,15 +42,16 @@ my $formatters = [ ) )| 7[1-9] - ' + ', + 'pattern' => '([3-79]\\d{2})(\\d{4})' }, { - 'pattern' => '(70)(\\d{2})(\\d{4})', - 'leading_digits' => '70' + 'leading_digits' => '70', + 'pattern' => '(70)(\\d{2})(\\d{4})' }, { - 'leading_digits' => '8000', - 'pattern' => '(8000)(\\d{3})(\\d{3})' + 'pattern' => '(8000)(\\d{3})(\\d{3})', + 'leading_digits' => '8000' }, { 'pattern' => '([458]\\d{3})(\\d{3,4})', @@ -67,8 +67,23 @@ my $formatters = [ ]; my $validators = { + 'geographic' => ' + (?: + 3[23589]| + 4[3-8]| + 6\\d| + 7[1-9]| + 88 + )\\d{5} + ', 'personal_number' => '70[0-2]\\d{5}', - 'pager' => '', + 'toll_free' => ' + 800(?: + 0\\d{3}| + 1\\d| + [2-9] + )\\d{3} + ', 'specialrate' => '( (?: 40\\d{2}| @@ -86,25 +101,6 @@ my $validators = { 9[012] )\\d{1,2} )', - 'voip' => '', - 'geographic' => ' - (?: - 3[23589]| - 4[3-8]| - 6\\d| - 7[1-9]| - 88 - )\\d{5} - ', - 'fixed_line' => ' - (?: - 3[23589]| - 4[3-8]| - 6\\d| - 7[1-9]| - 88 - )\\d{5} - ', 'mobile' => ' (?: 5\\d| @@ -121,13 +117,17 @@ my $validators = { 65[1-589] )\\d{3} ', - 'toll_free' => ' - 800(?: - 0\\d{3}| - 1\\d| - [2-9] - )\\d{3} - ' + 'fixed_line' => ' + (?: + 3[23589]| + 4[3-8]| + 6\\d| + 7[1-9]| + 88 + )\\d{5} + ', + 'pager' => '', + 'voip' => '' }; my %areanames = ( 37232 => "Rakvere", diff --git a/lib/Number/Phone/StubCountry/EG.pm b/lib/Number/Phone/StubCountry/EG.pm index 01289541b89ba4e63fa0f1a445a763e6ca9b60d8..a85663ca49e9bb3f8052173e23c29c6243c027d0 100644 --- a/lib/Number/Phone/StubCountry/EG.pm +++ b/lib/Number/Phone/StubCountry/EG.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[23]', - 'pattern' => '(\\d)(\\d{7,8})' + 'pattern' => '(\\d)(\\d{7,8})', + 'leading_digits' => '[23]' }, { 'leading_digits' => ' @@ -47,18 +47,7 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(900\\d{7})', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '800\\d{7}', - 'mobile' => ' - 1(?: - 0[0-269]| - 1[0-245]| - 2[0-278] - )\\d{7} - ', - 'fixed_line' => ' + 'geographic' => ' (?: 1(?: 3[23]\\d| @@ -95,7 +84,17 @@ my $validators = { )\\d{5}| 1[69]\\d{3} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '800\\d{7}', + 'specialrate' => '(900\\d{7})', + 'mobile' => ' + 1(?: + 0[0-269]| + 1[0-245]| + 2[0-278] + )\\d{7} + ', + 'fixed_line' => ' (?: 1(?: 3[23]\\d| @@ -132,6 +131,7 @@ my $validators = { )\\d{5}| 1[69]\\d{3} ', + 'pager' => '', 'voip' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/EH.pm b/lib/Number/Phone/StubCountry/EH.pm index 588fe40c9cdcbba77db7e2b4b387dc969e3edea8..8335141f9a212b9ef9a8db47736194b3aad60c2d 100644 --- a/lib/Number/Phone/StubCountry/EH.pm +++ b/lib/Number/Phone/StubCountry/EH.pm @@ -22,12 +22,14 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'toll_free' => '80\\d{7}', + 'voip' => '5924[01]\\d{4}', + 'pager' => '', + 'fixed_line' => '528[89]\\d{5}', 'mobile' => ' (?: 6(?: @@ -40,12 +42,10 @@ my $validators = { ) )\\d{6} ', - 'voip' => '5924[01]\\d{4}', - 'geographic' => '528[89]\\d{5}', - 'fixed_line' => '528[89]\\d{5}', 'specialrate' => '(89\\d{7})', 'personal_number' => '', - 'pager' => '' + 'geographic' => '528[89]\\d{5}', + 'toll_free' => '80\\d{7}' }; my %areanames = ( 212520 => "Casablanca", diff --git a/lib/Number/Phone/StubCountry/ER.pm b/lib/Number/Phone/StubCountry/ER.pm index b27135c58406e7cb85b93295b815663a0c82f39f..6faac52848c1af280bc9558935602f4fc1dc3602 100644 --- a/lib/Number/Phone/StubCountry/ER.pm +++ b/lib/Number/Phone/StubCountry/ER.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,15 +31,7 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', 'toll_free' => '', - 'mobile' => ' - 17[1-3]\\d{4}| - 7\\d{6} - ', - 'voip' => '', 'geographic' => ' 1(?: 1[12568]| @@ -49,6 +41,12 @@ my $validators = { 6[146] )\\d{4}| 8\\d{6} + ', + 'personal_number' => '', + 'specialrate' => '', + 'mobile' => ' + 17[1-3]\\d{4}| + 7\\d{6} ', 'fixed_line' => ' 1(?: @@ -59,7 +57,9 @@ my $validators = { 6[146] )\\d{4}| 8\\d{6} - ' + ', + 'pager' => '', + 'voip' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/ES.pm b/lib/Number/Phone/StubCountry/ES.pm index 9745326789ada939357f5a110c98ba963c5f589f..44e1d20fd38c48c0a777f2357748c1f2f1fb26f6 100644 --- a/lib/Number/Phone/StubCountry/ES.pm +++ b/lib/Number/Phone/StubCountry/ES.pm @@ -22,30 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([89]00)(\\d{3})(\\d{3})', - 'leading_digits' => '[89]00' + 'leading_digits' => '[89]00', + 'pattern' => '([89]00)(\\d{3})(\\d{3})' }, { - 'pattern' => '([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' [568]| [79][0-8] - ' + ', + 'pattern' => '([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { 'specialrate' => '(90[12]\\d{6})|(80[367]\\d{6})|(51\\d{7})', - 'pager' => '', - 'personal_number' => '70\\d{7}', 'mobile' => ' (?: 6\\d{6}| - 7[1-4]\\d{5}| + 7[1-48]\\d{5}| 9(?: 6906(?: 09| @@ -55,19 +53,16 @@ my $validators = { ) )\\d{2} ', - 'toll_free' => '[89]00\\d{6}', - 'voip' => '', - 'fixed_line' => ' + 'personal_number' => '70\\d{7}', + 'geographic' => ' 8(?: - [13]0| + [1356]\\d| [28][0-8]| - [47][1-9]| - 5[01346-9]| - 6[0457-9] + [47][1-9] )\\d{6}| 9(?: - [15]\\d{7}| - [238][0-8]\\d{6}| + [135]\\d{7}| + [28][0-8]\\d{6}| 4[1-9]\\d{6}| 6(?: [0-8]\\d{6}| @@ -92,17 +87,18 @@ my $validators = { )\\d{4} ) ', - 'geographic' => ' + 'toll_free' => '[89]00\\d{6}', + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' 8(?: - [13]0| + [1356]\\d| [28][0-8]| - [47][1-9]| - 5[01346-9]| - 6[0457-9] + [47][1-9] )\\d{6}| 9(?: - [15]\\d{7}| - [238][0-8]\\d{6}| + [135]\\d{7}| + [28][0-8]\\d{6}| 4[1-9]\\d{6}| 6(?: [0-8]\\d{6}| @@ -129,7 +125,7 @@ my $validators = { ' }; my %areanames = ( - 34810 => "Madrid", + 3481 => "Madrid", 34820 => "Ávila", 34821 => "Segovia", 34822 => "Tenerife", @@ -139,25 +135,33 @@ my %areanames = ( 34826 => "Ciudad\ Real", 34827 => "Cáceres", 34828 => "Las\ Palmas", - 34830 => "Barcelona", + 3483 => "Barcelona", 34841 => "La\ Rioja", 34842 => "Cantabria", 34843 => "Guipúzcoa", + 34844 => "Bizkaia", 34845 => "Araba", + 34846 => "Bizkaia", 34847 => "Burgos", 34848 => "Navarre", 34849 => "Guadalajara", 34850 => "Almería", 34851 => "Málaga", + 34852 => "Málaga", 34853 => "Jaén", 34854 => "Seville", + 34855 => "Seville", 34856 => "Cádiz", 34857 => "Cordova", 34858 => "Granada", 34859 => "Huelva", 34860 => "Valencia", + 34861 => "Valencia", + 34862 => "Valencia", + 34863 => "Valencia", 34864 => "Castellón", 34865 => "Alicante", + 34866 => "Alicante", 34867 => "Albacete", 34868 => "Murcia", 34869 => "Cuenca", @@ -175,6 +179,7 @@ my %areanames = ( 34882 => "Lugo", 34883 => "Valladolid", 34884 => "Asturias", + 34885 => "Asturias", 34886 => "Pontevedra", 34887 => "León", 34888 => "Ourense", @@ -192,9 +197,9 @@ my %areanames = ( 34941 => "La\ Rioja", 34942 => "Cantabria", 34943 => "Guipúzcoa", - 34944 => "Vizcaya", + 34944 => "Bizkaia", 34945 => "Araba", - 34946 => "Vizcaya", + 34946 => "Bizkaia", 34947 => "Burgos", 34948 => "Navarre", 34949 => "Guadalajara", @@ -228,7 +233,7 @@ my %areanames = ( 34978 => "Teruel", 34979 => "Palencia", 34980 => "Zamora", - 34981 => "Coruña", + 34981 => "La\ Coruña", 34982 => "Lugo", 34983 => "Valladolid", 34984 => "Asturias", diff --git a/lib/Number/Phone/StubCountry/ET.pm b/lib/Number/Phone/StubCountry/ET.pm index 4db3b675421f72141560249aa1717dbb45b08b4e..e527774b27bfaf299b8c7bcb493735358fea957a 100644 --- a/lib/Number/Phone/StubCountry/ET.pm +++ b/lib/Number/Phone/StubCountry/ET.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,7 +31,6 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', 'fixed_line' => ' (?: 11(?: @@ -149,6 +148,9 @@ my $validators = { ) )\\d{4} ', + 'pager' => '', + 'voip' => '', + 'toll_free' => '', 'geographic' => ' (?: 11(?: @@ -266,16 +268,14 @@ my $validators = { ) )\\d{4} ', - 'toll_free' => '', + 'personal_number' => '', + 'specialrate' => '', 'mobile' => ' 9(?: [1-468]\\d| 5[89] )\\d{6} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + ' }; my %areanames = ( 25111111 => "Arada\ I\,\ Addis\ Ababa", diff --git a/lib/Number/Phone/StubCountry/FI.pm b/lib/Number/Phone/StubCountry/FI.pm index f5a24cb96c519bd8bb96e41f5830f3220d645e6e..e4b8ea3fe3b46fff053fc479e2be7dc246d9729d 100644 --- a/lib/Number/Phone/StubCountry/FI.pm +++ b/lib/Number/Phone/StubCountry/FI.pm @@ -22,30 +22,30 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{3,7})', 'leading_digits' => ' (?: [1-3]00| [6-8]0 ) - ' + ', + 'pattern' => '(\\d{3})(\\d{3,7})' }, { 'pattern' => '(116\\d{3})', 'leading_digits' => '116' }, { + 'pattern' => '(\\d{2})(\\d{4,10})', 'leading_digits' => ' [14]| 2[09]| 50| 7[135] - ', - 'pattern' => '(\\d{2})(\\d{4,10})' + ' }, { 'leading_digits' => ' @@ -57,12 +57,6 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 4\\d{5,10}| - 50\\d{4,8} - ', - 'toll_free' => '800\\d{4,7}', - 'voip' => '', 'fixed_line' => ' 1(?: [3569][1-8]\\d{3,9}| @@ -75,6 +69,8 @@ my $validators = { )| [5689][1-8]\\d{3,9} ', + 'pager' => '', + 'voip' => '', 'geographic' => ' 1(?: [3569][1-8]\\d{3,9}| @@ -87,6 +83,8 @@ my $validators = { )| [5689][1-8]\\d{3,9} ', + 'personal_number' => '', + 'toll_free' => '800\\d{4,7}', 'specialrate' => '([67]00\\d{5,6})|( [13]0\\d{4,8}| 2(?: @@ -106,8 +104,10 @@ my $validators = { 5[03-9]\\d{2,7} ) )', - 'personal_number' => '', - 'pager' => '' + 'mobile' => ' + 4\\d{5,10}| + 50\\d{4,8} + ' }; my %areanames = ( 35813 => "North\ Karelia", diff --git a/lib/Number/Phone/StubCountry/FJ.pm b/lib/Number/Phone/StubCountry/FJ.pm index 98d886be0ecb096fa7e6565dc4c6234a1666a135..a0c48b45624c47e4bfadc7389061c2287fbc7813 100644 --- a/lib/Number/Phone/StubCountry/FJ.pm +++ b/lib/Number/Phone/StubCountry/FJ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,13 +30,12 @@ my $formatters = [ 'leading_digits' => '[36-9]' }, { - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'leading_digits' => '0' + 'leading_digits' => '0', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})' } ]; my $validators = { - 'toll_free' => '0800\\d{7}', 'mobile' => ' (?: 7[0-8]| @@ -44,6 +43,9 @@ my $validators = { 9\\d )\\d{5} ', + 'specialrate' => '', + 'toll_free' => '0800\\d{7}', + 'personal_number' => '', 'geographic' => ' (?: 3[0-5]| @@ -51,17 +53,15 @@ my $validators = { 8[58] )\\d{5} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 3[0-5]| 6[25-7]| 8[58] )\\d{5} - ', - 'voip' => '', - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/FK.pm b/lib/Number/Phone/StubCountry/FK.pm index 635cf62900f1a2e3818cdb8d4d35e2e2017d6311..402ae41577249503edb18e5d139d8483ed0cdafc 100644 --- a/lib/Number/Phone/StubCountry/FK.pm +++ b/lib/Number/Phone/StubCountry/FK.pm @@ -22,19 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '', - 'fixed_line' => '[2-47]\\d{4}', - 'geographic' => '[2-47]\\d{4}', 'voip' => '', + 'fixed_line' => '[2-47]\\d{4}', + 'specialrate' => '', + 'mobile' => '[56]\\d{4}', 'toll_free' => '', - 'mobile' => '[56]\\d{4}' + 'geographic' => '[2-47]\\d{4}', + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/FM.pm b/lib/Number/Phone/StubCountry/FM.pm index 7888a66d6315b861fba0fcbee57e986424b041f7..873b41ad05871d767b6a529c67dea567e7b07790 100644 --- a/lib/Number/Phone/StubCountry/FM.pm +++ b/lib/Number/Phone/StubCountry/FM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,19 +31,19 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '', 'mobile' => ' 3[2357]0[1-9]\\d{3}| 9[2-7]\\d{5} ', - 'voip' => '', + 'specialrate' => '', + 'toll_free' => '', + 'personal_number' => '', 'geographic' => ' 3[2357]0[1-9]\\d{3}| 9[2-6]\\d{5} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' 3[2357]0[1-9]\\d{3}| 9[2-6]\\d{5} diff --git a/lib/Number/Phone/StubCountry/FO.pm b/lib/Number/Phone/StubCountry/FO.pm index 44d4ceece2d10eb8327606811ac822637f0bacda..f516d9417f59f973e72dfb710c38830b9076173e 100644 --- a/lib/Number/Phone/StubCountry/FO.pm +++ b/lib/Number/Phone/StubCountry/FO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,22 +31,13 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '( - 90(?: - [1345][15-7]| - 2[125-7]| - 99 - )\\d{2} - )', - 'geographic' => ' + 'voip' => ' (?: - 20| - [3-4]\\d| - 8[19] + 6[0-36]| + 88 )\\d{4} ', + 'pager' => '', 'fixed_line' => ' (?: 20| @@ -54,17 +45,26 @@ my $validators = { 8[19] )\\d{4} ', - 'voip' => ' + 'specialrate' => '( + 90(?: + [1345][15-7]| + 2[125-7]| + 99 + )\\d{2} + )', + 'mobile' => ' (?: - 6[0-36]| - 88 + [27][1-9]| + 5\\d )\\d{4} ', 'toll_free' => '80[257-9]\\d{3}', - 'mobile' => ' + 'personal_number' => '', + 'geographic' => ' (?: - [27][1-9]| - 5\\d + 20| + [3-4]\\d| + 8[19] )\\d{4} ' }; diff --git a/lib/Number/Phone/StubCountry/FR.pm b/lib/Number/Phone/StubCountry/FR.pm index b9d6f4415091e93b50b3b8e9f35d2c3d5276e96a..7155d62905d9d999475acd713d014cd048f88568 100644 --- a/lib/Number/Phone/StubCountry/FR.pm +++ b/lib/Number/Phone/StubCountry/FR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,25 +30,17 @@ my $formatters = [ 'pattern' => '([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { - 'pattern' => '(1\\d{2})(\\d{3})', - 'leading_digits' => '11' + 'leading_digits' => '11', + 'pattern' => '(1\\d{2})(\\d{3})' }, { - 'leading_digits' => '8', - 'pattern' => '(8\\d{2})(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '(8\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '8' } ]; my $validators = { - 'specialrate' => '( - 8(?: - 1[019]| - 2[0156]| - 84| - 90 - )\\d{6} - )|(89[1-37-9]\\d{6})|(80[6-9]\\d{6})', - 'pager' => '', + 'geographic' => '[1-5]\\d{8}', 'personal_number' => '', 'toll_free' => '80[0-5]\\d{6}', 'mobile' => ' @@ -57,8 +49,16 @@ my $validators = { 7[3-9] )\\d{7} ', - 'geographic' => '[1-5]\\d{8}', + 'specialrate' => '( + 8(?: + 1[0-29]| + 2[0156]| + 84| + 90 + )\\d{6} + )|(89[1-37-9]\\d{6})|(80[6-9]\\d{6})', 'fixed_line' => '[1-5]\\d{8}', + 'pager' => '', 'voip' => '9\\d{8}' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/GA.pm b/lib/Number/Phone/StubCountry/GA.pm index 70ceeffa93159ffbc8350c34030193e8ef1639cd..e228ca166dc3f55593d205c80338370d466efa15 100644 --- a/lib/Number/Phone/StubCountry/GA.pm +++ b/lib/Number/Phone/StubCountry/GA.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '[2-7]' + 'leading_digits' => '[2-7]', + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})' }, { 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', @@ -36,14 +36,14 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '0?[2-7]\\d{6}', 'toll_free' => '', - 'voip' => '', - 'fixed_line' => '01\\d{6}', 'geographic' => '01\\d{6}', - 'specialrate' => '', 'personal_number' => '', - 'pager' => '' + 'mobile' => '0?[2-7]\\d{6}', + 'specialrate' => '', + 'fixed_line' => '01\\d{6}', + 'pager' => '', + 'voip' => '' }; my %areanames = ( 2410140 => "Kango", diff --git a/lib/Number/Phone/StubCountry/GB.pm b/lib/Number/Phone/StubCountry/GB.pm index cb7313b851a993aaff831b3f7d86273e68463a1a..9d5f1ba7c4d5e535f64c3527f2f3962783645d68 100644 --- a/lib/Number/Phone/StubCountry/GB.pm +++ b/lib/Number/Phone/StubCountry/GB.pm @@ -22,35 +22,39 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'pattern' => '(7\\d{3})(\\d{6})', 'leading_digits' => ' - 2| - 5[56]| 7(?: - 0| - 6(?: - [013-9]| - 2[0-35-9] - ) + [1-5789]| + 6242 ) ' }, { 'leading_digits' => ' + 2| + 5[56]| + 7[06] + ', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + }, + { + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'leading_digits' => ' 1(?: 1| \\d1 )| 3| 9[018] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + ' }, { + 'pattern' => '(\\d{5})(\\d{4,5})', 'leading_digits' => ' 1(?: 3873| @@ -62,25 +66,15 @@ my $formatters = [ 768[347]| 9467 ) - ', - 'pattern' => '(\\d{5})(\\d{4,5})' - }, - { - 'leading_digits' => '1', - 'pattern' => '(1\\d{3})(\\d{5,6})' + ' }, { - 'pattern' => '(7\\d{3})(\\d{6})', - 'leading_digits' => ' - 7(?: - [1-5789]| - 624 - ) - ' + 'pattern' => '(1\\d{3})(\\d{5,6})', + 'leading_digits' => '1' }, { - 'pattern' => '(800)(\\d{4})', - 'leading_digits' => '8001111' + 'leading_digits' => '8001111', + 'pattern' => '(800)(\\d{4})' }, { 'pattern' => '(845)(46)(4\\d)', @@ -100,48 +94,12 @@ my $formatters = [ 'pattern' => '(80\\d)(\\d{3})(\\d{4})' }, { - 'leading_digits' => '[58]00', - 'pattern' => '([58]00)(\\d{6})' + 'pattern' => '([58]00)(\\d{6})', + 'leading_digits' => '[58]00' } ]; my $validators = { - 'mobile' => ' - 7(?: - [1-4]\\d\\d| - 5(?: - 0[0-8]| - [13-9]\\d| - 2[0-35-9] - )| - 7(?: - 0[1-9]| - [1-7]\\d| - 8[02-9]| - 9[0-689] - )| - 8(?: - [014-9]\\d| - [23][0-8] - )| - 9(?: - [04-9]\\d| - 1[02-9]| - 2[0-35-9]| - 3[0-689] - ) - )\\d{6} - ', - 'toll_free' => ' - 80(?: - 0(?: - 1111| - \\d{6,7} - )| - 8\\d{7} - )| - 500\\d{6} - ', 'fixed_line' => ' 2(?: 0[01378]| @@ -155,7 +113,7 @@ my $validators = { 1(?: 3[0-48]| [46][0-4]| - 5[012789]| + 5[0126-9]| 7[0-49]| 8[01349] )| @@ -376,6 +334,22 @@ my $validators = { 176888[234678]\\d{2}| 16977[23]\\d{3} ', + 'pager' => ' + 76(?: + 0[012]\\d| + 2(?: + [356]\\d| + 4[013-9] + )| + 4[0134]\\d| + 5[49]\\d| + 6[0-369]\\d| + 77\\d| + 81\\d| + 9[39]\\d + )\\d{5} + ', + 'voip' => '56\\d{8}', 'geographic' => ' 2(?: 0[01378]| @@ -389,7 +363,7 @@ my $validators = { 1(?: 3[0-48]| [46][0-4]| - 5[012789]| + 5[0126-9]| 7[0-49]| 8[01349] )| @@ -610,7 +584,17 @@ my $validators = { 176888[234678]\\d{2}| 16977[23]\\d{3} ', - 'voip' => '56\\d{8}', + 'personal_number' => '70\\d{8}', + 'toll_free' => ' + 80(?: + 0(?: + 1111| + \\d{6,7} + )| + 8\\d{7} + )| + 500\\d{6} + ', 'specialrate' => '( 8(?: 4(?: @@ -633,19 +617,44 @@ my $validators = { 55 )\\d{8} )', - 'pager' => ' - 76(?: - 0[012]| - 2[356]| - 4[0134]| - 5[49]| - 6[0-369]| - 77| - 81| - 9[39] - )\\d{6} - ', - 'personal_number' => '70\\d{8}' + 'mobile' => ' + 7(?: + [1-3]\\d{3}| + 4(?: + [0-46-9]\\d{2}| + 5(?: + [0-689]\\d| + 7[0-57-9] + ) + )| + 5(?: + 0[0-8]| + [13-9]\\d| + 2[0-35-9] + )\\d| + 7(?: + 0(?: + 0[01]| + [1-9]\\d + )| + [1-7]\\d{2}| + 8[02-9]\\d| + 9[0-689]\\d + )| + 8(?: + [014-9]\\d| + [23][0-8] + )\\d| + 9(?: + [024-9]\\d{2}| + 1(?: + [02-9]\\d| + 1[028] + )| + 3[0-689]\\d + ) + )\\d{5} + ' }; my %areanames = ( 44113 => "Leeds", diff --git a/lib/Number/Phone/StubCountry/GD.pm b/lib/Number/Phone/StubCountry/GD.pm index 6e196bf331b2927409767a2b67bb7b76aaeef003..b7f1278b21923ae605ccf55ab25eefaadd575ac7 100644 --- a/lib/Number/Phone/StubCountry/GD.pm +++ b/lib/Number/Phone/StubCountry/GD.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,7 +34,23 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => ' + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 473(?: + 4(?: + 0[2-79]| + 1[04-9]| + 20| + 58 + )| + 5(?: + 2[01]| + 3[3-8] + )| + 901 + )\\d{4} + ', + 'geographic' => ' 473(?: 2(?: 3[0-2]| @@ -62,7 +78,31 @@ my $validators = { 938 )\\d{4} ', - 'geographic' => ' + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' 473(?: 2(?: 3[0-2]| @@ -89,46 +129,7 @@ my $validators = { 800| 938 )\\d{4} - ', - 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'mobile' => ' - 473(?: - 4(?: - 0[2-79]| - 1[04-9]| - 20| - 58 - )| - 5(?: - 2[01]| - 3[3-8] - )| - 901 - )\\d{4} - ', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})' + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/GE.pm b/lib/Number/Phone/StubCountry/GE.pm index 13efb33c7f14aa6b69b37ed95df42ee4cccb369f..3146ac7d37446f88a6b6248bf0eb191148781f9b 100644 --- a/lib/Number/Phone/StubCountry/GE.pm +++ b/lib/Number/Phone/StubCountry/GE.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -40,9 +40,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', 'mobile' => ' 5(?: 14| @@ -52,8 +49,9 @@ my $validators = { 9[0-35-9] )\\d{6} ', + 'specialrate' => '', 'toll_free' => '800\\d{6}', - 'voip' => '706\\d{6}', + 'personal_number' => '', 'geographic' => ' (?: 3(?: @@ -71,6 +69,8 @@ my $validators = { ) )\\d{6} ', + 'voip' => '706\\d{6}', + 'pager' => '', 'fixed_line' => ' (?: 3(?: diff --git a/lib/Number/Phone/StubCountry/GF.pm b/lib/Number/Phone/StubCountry/GF.pm index ffbb23901a9e87c5185adc14bd88ffbc26c6e2a6..e6e48c40c63403699be01d0f4746dd674597906a 100644 --- a/lib/Number/Phone/StubCountry/GF.pm +++ b/lib/Number/Phone/StubCountry/GF.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,9 +31,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '', 'mobile' => ' 694(?: [04][0-7]| @@ -42,7 +39,8 @@ my $validators = { [29]\\d )\\d{4} ', - 'toll_free' => '', + 'specialrate' => '', + 'personal_number' => '', 'geographic' => ' 594(?: 10| @@ -54,6 +52,9 @@ my $validators = { 9[014] )\\d{4} ', + 'toll_free' => '', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' 594(?: 10| @@ -64,8 +65,7 @@ my $validators = { 6[0-3]| 9[014] )\\d{4} - ', - 'voip' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/GG.pm b/lib/Number/Phone/StubCountry/GG.pm index aff1331570e0ef898e4f487ff8ee8402a1445b24..9716a6368b439729a8b97a8ad4eb26afa732938f 100644 --- a/lib/Number/Phone/StubCountry/GG.pm +++ b/lib/Number/Phone/StubCountry/GG.pm @@ -22,24 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { 'leading_digits' => ' - 2| - 5[56]| 7(?: - 0| - 6(?: - [013-9]| - 2[0-35-9] - ) + [1-5789]| + 6242 ) ', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + 'pattern' => '(7\\d{3})(\\d{6})' }, { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'leading_digits' => ' + 2| + 5[56]| + 7[06] + ' + }, + { + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 1(?: 1| @@ -47,8 +51,7 @@ my $formatters = [ )| 3| 9[018] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + ' }, { 'leading_digits' => ' @@ -69,22 +72,13 @@ my $formatters = [ 'leading_digits' => '1', 'pattern' => '(1\\d{3})(\\d{5,6})' }, - { - 'leading_digits' => ' - 7(?: - [1-5789]| - 624 - ) - ', - 'pattern' => '(7\\d{3})(\\d{6})' - }, { 'pattern' => '(800)(\\d{4})', 'leading_digits' => '8001111' }, { - 'leading_digits' => '845464', - 'pattern' => '(845)(46)(4\\d)' + 'pattern' => '(845)(46)(4\\d)', + 'leading_digits' => '845464' }, { 'pattern' => '(8\\d{2})(\\d{3})(\\d{4})', @@ -96,8 +90,8 @@ my $formatters = [ ' }, { - 'pattern' => '(80\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(80\\d)(\\d{3})(\\d{4})' }, { 'leading_digits' => '[58]00', @@ -106,13 +100,6 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 7(?: - 781| - 839| - 911 - )\\d{6} - ', 'toll_free' => ' 80(?: 0(?: @@ -123,9 +110,8 @@ my $validators = { )| 500\\d{6} ', + 'personal_number' => '70\\d{8}', 'geographic' => '1481\\d{6}', - 'fixed_line' => '1481\\d{6}', - 'voip' => '56\\d{8}', 'specialrate' => '( 8(?: 4(?: @@ -148,7 +134,15 @@ my $validators = { 55 )\\d{8} )', - 'personal_number' => '70\\d{8}', + 'mobile' => ' + 7(?: + 781\\d| + 839\\d| + 911[17] + )\\d{5} + ', + 'fixed_line' => '1481\\d{6}', + 'voip' => '56\\d{8}', 'pager' => ' 76(?: 0[012]| diff --git a/lib/Number/Phone/StubCountry/GH.pm b/lib/Number/Phone/StubCountry/GH.pm index 327db8557b97f483563034661e706c8d97b381ab..d305d37fe08f89c550dcc8ed31c730e121a62bca 100644 --- a/lib/Number/Phone/StubCountry/GH.pm +++ b/lib/Number/Phone/StubCountry/GH.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,13 +30,14 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' }, { - 'pattern' => '(\\d{3})(\\d{5})', - 'leading_digits' => '8' + 'leading_digits' => '8', + 'pattern' => '(\\d{3})(\\d{5})' } ]; my $validators = { 'voip' => '', + 'pager' => '', 'fixed_line' => ' 3(?: 0[237]\\d| @@ -71,6 +72,17 @@ my $validators = { ) )\\d{5} ', + 'mobile' => ' + (?: + 2[034678]\\d| + 5(?: + [0457]\\d| + 6[01] + ) + )\\d{6} + ', + 'specialrate' => '', + 'personal_number' => '', 'geographic' => ' 3(?: 0[237]\\d| @@ -105,20 +117,7 @@ my $validators = { ) )\\d{5} ', - 'toll_free' => '800\\d{5}', - 'mobile' => ' - (?: - 2[034678]\\d| - 5(?: - [047]\\d| - 5[3-6]| - 6[01] - ) - )\\d{6} - ', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + 'toll_free' => '800\\d{5}' }; my %areanames = ( 233302 => "Accra", diff --git a/lib/Number/Phone/StubCountry/GI.pm b/lib/Number/Phone/StubCountry/GI.pm index 85f181c5297d28d7b641128e3825493860f1385e..18dbad0883f07fab79852ce1733bf451898f2a87 100644 --- a/lib/Number/Phone/StubCountry/GI.pm +++ b/lib/Number/Phone/StubCountry/GI.pm @@ -22,18 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{5})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(\\d{3})(\\d{5})' } ]; my $validators = { 'voip' => '', - 'geographic' => ' + 'pager' => '', + 'fixed_line' => ' 2(?: 00\\d| 1(?: @@ -46,7 +47,16 @@ my $validators = { ) )\\d{4} ', - 'fixed_line' => ' + 'mobile' => ' + (?: + 5[46-8]| + 62 + )\\d{6} + ', + 'specialrate' => '(87\\d{6})|(8[1-689]\\d{6})', + 'toll_free' => '80\\d{6}', + 'personal_number' => '', + 'geographic' => ' 2(?: 00\\d| 1(?: @@ -58,17 +68,7 @@ my $validators = { 2[2457] ) )\\d{4} - ', - 'mobile' => ' - (?: - 5[46-8]| - 62 - )\\d{6} - ', - 'toll_free' => '80\\d{6}', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '(87\\d{6})|(8[1-689]\\d{6})' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/GL.pm b/lib/Number/Phone/StubCountry/GL.pm index 04a30aa7e97a2eb0fa5ecc42db00c228b57967c4..6bcc73524e191377454f404ff11c110c3c9d3b9c 100644 --- a/lib/Number/Phone/StubCountry/GL.pm +++ b/lib/Number/Phone/StubCountry/GL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,6 +31,9 @@ my $formatters = [ ]; my $validators = { + 'mobile' => '[245][2-9]\\d{4}', + 'specialrate' => '', + 'toll_free' => '80\\d{4}', 'geographic' => ' (?: 19| @@ -40,6 +43,9 @@ my $validators = { 9\\d )\\d{4} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '3[89]\\d{4}', 'fixed_line' => ' (?: 19| @@ -48,13 +54,7 @@ my $validators = { 8[14-79]| 9\\d )\\d{4} - ', - 'voip' => '3[89]\\d{4}', - 'mobile' => '[245][2-9]\\d{4}', - 'toll_free' => '80\\d{4}', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + ' }; my %areanames = ( 29931 => "Nuuk", diff --git a/lib/Number/Phone/StubCountry/GM.pm b/lib/Number/Phone/StubCountry/GM.pm index b8786420d6248897632f711aa9a62b99e839c80a..96f199219f9d50bbe30a5da541156c9a4f2bfeb8 100644 --- a/lib/Number/Phone/StubCountry/GM.pm +++ b/lib/Number/Phone/StubCountry/GM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,12 +31,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'mobile' => '[23679]\\d{6}', - 'toll_free' => '', - 'voip' => '', 'fixed_line' => ' (?: 4(?: @@ -61,6 +55,9 @@ my $validators = { 8\\d{3} )\\d{3} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' (?: 4(?: @@ -84,7 +81,10 @@ my $validators = { )| 8\\d{3} )\\d{3} - ' + ', + 'toll_free' => '', + 'mobile' => '[23679]\\d{6}', + 'specialrate' => '' }; my %areanames = ( 22042 => "Banjul", diff --git a/lib/Number/Phone/StubCountry/GN.pm b/lib/Number/Phone/StubCountry/GN.pm index 5bc391b1bd6672b6712419d7b13f655bd63b7e63..04acef00686c401bb49a7b7117b2ec79f45ddc54 100644 --- a/lib/Number/Phone/StubCountry/GN.pm +++ b/lib/Number/Phone/StubCountry/GN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,16 +30,15 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { - 'leading_digits' => '[67]', - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '[67]' } ]; my $validators = { - 'personal_number' => '', - 'pager' => '', 'specialrate' => '', - 'voip' => '722\\d{6}', + 'mobile' => '6[02356]\\d{7}', + 'toll_free' => '', 'geographic' => ' 30(?: 24| @@ -51,6 +50,9 @@ my $validators = { 9[1478] )\\d{4} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '722\\d{6}', 'fixed_line' => ' 30(?: 24| @@ -61,9 +63,7 @@ my $validators = { [78]1| 9[1478] )\\d{4} - ', - 'toll_free' => '', - 'mobile' => '6[02356]\\d{7}' + ' }; my %areanames = ( 2243024 => "Fria", diff --git a/lib/Number/Phone/StubCountry/GP.pm b/lib/Number/Phone/StubCountry/GP.pm index 7b4491121b21b3dccd163038bf50a0ea94278b83..d8a04717d64848a9dc9cd5607f41f826c8c21dd3 100644 --- a/lib/Number/Phone/StubCountry/GP.pm +++ b/lib/Number/Phone/StubCountry/GP.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,6 +31,13 @@ my $formatters = [ ]; my $validators = { + 'mobile' => ' + 690(?: + 0[0-7]| + [1-9]\\d + )\\d{4} + ', + 'specialrate' => '', 'geographic' => ' 590(?: 0[13468]| @@ -45,6 +52,10 @@ my $validators = { 9\\d )\\d{4} ', + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' 590(?: 0[13468]| @@ -58,18 +69,7 @@ my $validators = { 8[0-689]| 9\\d )\\d{4} - ', - 'voip' => '', - 'toll_free' => '', - 'mobile' => ' - 690(?: - 0[0-7]| - [1-9]\\d - )\\d{4} - ', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/GQ.pm b/lib/Number/Phone/StubCountry/GQ.pm index 3581367aca2febbb89a6a4fb756937d5cf65c106..740074dca6a691c0cb6b70f8de3b56044eb2ce2f 100644 --- a/lib/Number/Phone/StubCountry/GQ.pm +++ b/lib/Number/Phone/StubCountry/GQ.pm @@ -22,31 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'leading_digits' => '[235]' + 'leading_digits' => '[235]', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' }, { - 'leading_digits' => '[89]', - 'pattern' => '(\\d{3})(\\d{6})' + 'pattern' => '(\\d{3})(\\d{6})', + 'leading_digits' => '[89]' } ]; my $validators = { - 'specialrate' => '(90\\d[1-9]\\d{5})', - 'personal_number' => '', - 'pager' => '', - 'toll_free' => '80\\d[1-9]\\d{5}', - 'mobile' => ' - (?: - 222| - 55[15] - )\\d{6} - ', - 'voip' => '', 'fixed_line' => ' 3(?: 3(?: @@ -56,6 +45,9 @@ my $validators = { 5\\d{2}[7-9] )\\d{4} ', + 'pager' => '', + 'voip' => '', + 'toll_free' => '80\\d[1-9]\\d{5}', 'geographic' => ' 3(?: 3(?: @@ -64,14 +56,553 @@ my $validators = { )| 5\\d{2}[7-9] )\\d{4} - ' + ', + 'personal_number' => '', + 'mobile' => ' + (?: + 222| + 55[15] + )\\d{6} + ', + 'specialrate' => '(90\\d[1-9]\\d{5})' }; - +my %areanames = ( + 24033004 => "Bioko", + 24033006 => "Continental\ Region", + 24033014 => "Bioko", + 24033016 => "Continental\ Region", + 24033024 => "Bioko", + 24033026 => "Continental\ Region", + 24033034 => "Bioko", + 24033036 => "Continental\ Region", + 24033044 => "Bioko", + 24033046 => "Continental\ Region", + 24033054 => "Bioko", + 24033056 => "Continental\ Region", + 24033064 => "Bioko", + 24033066 => "Continental\ Region", + 24033074 => "Bioko", + 24033076 => "Continental\ Region", + 24033084 => "Bioko", + 24033086 => "Continental\ Region", + 24033094 => "Bioko", + 24033096 => "Continental\ Region", + 24033104 => "Bioko", + 24033106 => "Continental\ Region", + 24033114 => "Bioko", + 24033116 => "Continental\ Region", + 24033124 => "Bioko", + 24033126 => "Continental\ Region", + 24033134 => "Bioko", + 24033136 => "Continental\ Region", + 24033144 => "Bioko", + 24033146 => "Continental\ Region", + 24033154 => "Bioko", + 24033156 => "Continental\ Region", + 24033164 => "Bioko", + 24033166 => "Continental\ Region", + 24033174 => "Bioko", + 24033176 => "Continental\ Region", + 24033184 => "Bioko", + 24033186 => "Continental\ Region", + 24033194 => "Bioko", + 24033196 => "Continental\ Region", + 24033204 => "Bioko", + 24033206 => "Continental\ Region", + 24033214 => "Bioko", + 24033216 => "Continental\ Region", + 24033224 => "Bioko", + 24033226 => "Continental\ Region", + 24033234 => "Bioko", + 24033236 => "Continental\ Region", + 24033244 => "Bioko", + 24033246 => "Continental\ Region", + 24033254 => "Bioko", + 24033256 => "Continental\ Region", + 24033264 => "Bioko", + 24033266 => "Continental\ Region", + 24033274 => "Bioko", + 24033276 => "Continental\ Region", + 24033284 => "Bioko", + 24033286 => "Continental\ Region", + 24033294 => "Bioko", + 24033296 => "Continental\ Region", + 24033304 => "Bioko", + 24033306 => "Continental\ Region", + 24033307 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033308 => "Litoral\/Annobón", + 24033309 => "Bioko", + 24033314 => "Bioko", + 24033316 => "Continental\ Region", + 24033317 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033318 => "Litoral\/Annobón", + 24033319 => "Bioko", + 24033324 => "Bioko", + 24033326 => "Continental\ Region", + 24033327 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033328 => "Litoral\/Annobón", + 24033329 => "Bioko", + 24033334 => "Bioko", + 24033336 => "Continental\ Region", + 24033337 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033338 => "Litoral\/Annobón", + 24033339 => "Bioko", + 24033344 => "Bioko", + 24033346 => "Continental\ Region", + 24033347 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033348 => "Litoral\/Annobón", + 24033349 => "Bioko", + 24033354 => "Bioko", + 24033356 => "Continental\ Region", + 24033357 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033358 => "Litoral\/Annobón", + 24033359 => "Bioko", + 24033364 => "Bioko", + 24033366 => "Continental\ Region", + 24033367 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033368 => "Litoral\/Annobón", + 24033369 => "Bioko", + 24033374 => "Bioko", + 24033376 => "Continental\ Region", + 24033377 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033378 => "Litoral\/Annobón", + 24033379 => "Bioko", + 24033384 => "Bioko", + 24033386 => "Continental\ Region", + 24033387 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033388 => "Litoral\/Annobón", + 24033389 => "Bioko", + 24033394 => "Bioko", + 24033396 => "Continental\ Region", + 24033397 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24033398 => "Litoral\/Annobón", + 24033399 => "Bioko", + 24033404 => "Bioko", + 24033406 => "Continental\ Region", + 24033414 => "Bioko", + 24033416 => "Continental\ Region", + 24033424 => "Bioko", + 24033426 => "Continental\ Region", + 24033434 => "Bioko", + 24033436 => "Continental\ Region", + 24033444 => "Bioko", + 24033446 => "Continental\ Region", + 24033454 => "Bioko", + 24033456 => "Continental\ Region", + 24033464 => "Bioko", + 24033466 => "Continental\ Region", + 24033474 => "Bioko", + 24033476 => "Continental\ Region", + 24033484 => "Bioko", + 24033486 => "Continental\ Region", + 24033494 => "Bioko", + 24033496 => "Continental\ Region", + 24033504 => "Bioko", + 24033506 => "Continental\ Region", + 24033514 => "Bioko", + 24033516 => "Continental\ Region", + 24033524 => "Bioko", + 24033526 => "Continental\ Region", + 24033534 => "Bioko", + 24033536 => "Continental\ Region", + 24033544 => "Bioko", + 24033546 => "Continental\ Region", + 24033554 => "Bioko", + 24033556 => "Continental\ Region", + 24033564 => "Bioko", + 24033566 => "Continental\ Region", + 24033574 => "Bioko", + 24033576 => "Continental\ Region", + 24033584 => "Bioko", + 24033586 => "Continental\ Region", + 24033594 => "Bioko", + 24033596 => "Continental\ Region", + 24033604 => "Bioko", + 24033606 => "Continental\ Region", + 24033614 => "Bioko", + 24033616 => "Continental\ Region", + 24033624 => "Bioko", + 24033626 => "Continental\ Region", + 24033634 => "Bioko", + 24033636 => "Continental\ Region", + 24033644 => "Bioko", + 24033646 => "Continental\ Region", + 24033654 => "Bioko", + 24033656 => "Continental\ Region", + 24033664 => "Bioko", + 24033666 => "Continental\ Region", + 24033674 => "Bioko", + 24033676 => "Continental\ Region", + 24033684 => "Bioko", + 24033686 => "Continental\ Region", + 24033694 => "Bioko", + 24033696 => "Continental\ Region", + 24033704 => "Bioko", + 24033706 => "Continental\ Region", + 24033714 => "Bioko", + 24033716 => "Continental\ Region", + 24033724 => "Bioko", + 24033726 => "Continental\ Region", + 24033734 => "Bioko", + 24033736 => "Continental\ Region", + 24033744 => "Bioko", + 24033746 => "Continental\ Region", + 24033754 => "Bioko", + 24033756 => "Continental\ Region", + 24033764 => "Bioko", + 24033766 => "Continental\ Region", + 24033774 => "Bioko", + 24033776 => "Continental\ Region", + 24033784 => "Bioko", + 24033786 => "Continental\ Region", + 24033794 => "Bioko", + 24033796 => "Continental\ Region", + 24033804 => "Bioko", + 24033806 => "Continental\ Region", + 24033814 => "Bioko", + 24033816 => "Continental\ Region", + 24033824 => "Bioko", + 24033826 => "Continental\ Region", + 24033834 => "Bioko", + 24033836 => "Continental\ Region", + 24033844 => "Bioko", + 24033846 => "Continental\ Region", + 24033854 => "Bioko", + 24033856 => "Continental\ Region", + 24033864 => "Bioko", + 24033866 => "Continental\ Region", + 24033874 => "Bioko", + 24033876 => "Continental\ Region", + 24033884 => "Bioko", + 24033886 => "Continental\ Region", + 24033894 => "Bioko", + 24033896 => "Continental\ Region", + 24033904 => "Bioko", + 24033906 => "Continental\ Region", + 24033914 => "Bioko", + 24033916 => "Continental\ Region", + 24033924 => "Bioko", + 24033926 => "Continental\ Region", + 24033934 => "Bioko", + 24033936 => "Continental\ Region", + 24033944 => "Bioko", + 24033946 => "Continental\ Region", + 24033954 => "Bioko", + 24033956 => "Continental\ Region", + 24033964 => "Bioko", + 24033966 => "Continental\ Region", + 24033974 => "Bioko", + 24033976 => "Continental\ Region", + 24033984 => "Bioko", + 24033986 => "Continental\ Region", + 24033994 => "Bioko", + 24033996 => "Continental\ Region", + 24035007 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035008 => "Litoral\/Annobón", + 24035009 => "Bioko", + 24035017 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035018 => "Litoral\/Annobón", + 24035019 => "Bioko", + 24035027 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035028 => "Litoral\/Annobón", + 24035029 => "Bioko", + 24035037 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035038 => "Litoral\/Annobón", + 24035039 => "Bioko", + 24035047 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035048 => "Litoral\/Annobón", + 24035049 => "Bioko", + 24035057 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035058 => "Litoral\/Annobón", + 24035059 => "Bioko", + 24035067 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035068 => "Litoral\/Annobón", + 24035069 => "Bioko", + 24035077 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035078 => "Litoral\/Annobón", + 24035079 => "Bioko", + 24035087 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035088 => "Litoral\/Annobón", + 24035089 => "Bioko", + 24035097 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035098 => "Litoral\/Annobón", + 24035099 => "Bioko", + 24035107 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035108 => "Litoral\/Annobón", + 24035109 => "Bioko", + 24035117 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035118 => "Litoral\/Annobón", + 24035119 => "Bioko", + 24035127 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035128 => "Litoral\/Annobón", + 24035129 => "Bioko", + 24035137 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035138 => "Litoral\/Annobón", + 24035139 => "Bioko", + 24035147 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035148 => "Litoral\/Annobón", + 24035149 => "Bioko", + 24035157 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035158 => "Litoral\/Annobón", + 24035159 => "Bioko", + 24035167 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035168 => "Litoral\/Annobón", + 24035169 => "Bioko", + 24035177 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035178 => "Litoral\/Annobón", + 24035179 => "Bioko", + 24035187 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035188 => "Litoral\/Annobón", + 24035189 => "Bioko", + 24035197 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035198 => "Litoral\/Annobón", + 24035199 => "Bioko", + 24035207 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035208 => "Litoral\/Annobón", + 24035209 => "Bioko", + 24035217 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035218 => "Litoral\/Annobón", + 24035219 => "Bioko", + 24035227 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035228 => "Litoral\/Annobón", + 24035229 => "Bioko", + 24035237 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035238 => "Litoral\/Annobón", + 24035239 => "Bioko", + 24035247 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035248 => "Litoral\/Annobón", + 24035249 => "Bioko", + 24035257 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035258 => "Litoral\/Annobón", + 24035259 => "Bioko", + 24035267 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035268 => "Litoral\/Annobón", + 24035269 => "Bioko", + 24035277 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035278 => "Litoral\/Annobón", + 24035279 => "Bioko", + 24035287 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035288 => "Litoral\/Annobón", + 24035289 => "Bioko", + 24035297 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035298 => "Litoral\/Annobón", + 24035299 => "Bioko", + 24035307 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035308 => "Litoral\/Annobón", + 24035309 => "Bioko", + 24035317 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035318 => "Litoral\/Annobón", + 24035319 => "Bioko", + 24035327 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035328 => "Litoral\/Annobón", + 24035329 => "Bioko", + 24035337 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035338 => "Litoral\/Annobón", + 24035339 => "Bioko", + 24035347 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035348 => "Litoral\/Annobón", + 24035349 => "Bioko", + 24035357 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035358 => "Litoral\/Annobón", + 24035359 => "Bioko", + 24035367 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035368 => "Litoral\/Annobón", + 24035369 => "Bioko", + 24035377 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035378 => "Litoral\/Annobón", + 24035379 => "Bioko", + 24035387 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035388 => "Litoral\/Annobón", + 24035389 => "Bioko", + 24035397 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035398 => "Litoral\/Annobón", + 24035399 => "Bioko", + 24035407 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035408 => "Litoral\/Annobón", + 24035409 => "Bioko", + 24035417 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035418 => "Litoral\/Annobón", + 24035419 => "Bioko", + 24035427 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035428 => "Litoral\/Annobón", + 24035429 => "Bioko", + 24035437 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035438 => "Litoral\/Annobón", + 24035439 => "Bioko", + 24035447 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035448 => "Litoral\/Annobón", + 24035449 => "Bioko", + 24035457 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035458 => "Litoral\/Annobón", + 24035459 => "Bioko", + 24035467 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035468 => "Litoral\/Annobón", + 24035469 => "Bioko", + 24035477 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035478 => "Litoral\/Annobón", + 24035479 => "Bioko", + 24035487 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035488 => "Litoral\/Annobón", + 24035489 => "Bioko", + 24035497 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035498 => "Litoral\/Annobón", + 24035499 => "Bioko", + 24035507 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035508 => "Litoral\/Annobón", + 24035509 => "Bioko", + 24035517 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035518 => "Litoral\/Annobón", + 24035519 => "Bioko", + 24035527 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035528 => "Litoral\/Annobón", + 24035529 => "Bioko", + 24035537 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035538 => "Litoral\/Annobón", + 24035539 => "Bioko", + 24035547 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035548 => "Litoral\/Annobón", + 24035549 => "Bioko", + 24035557 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035558 => "Litoral\/Annobón", + 24035559 => "Bioko", + 24035567 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035568 => "Litoral\/Annobón", + 24035569 => "Bioko", + 24035577 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035578 => "Litoral\/Annobón", + 24035579 => "Bioko", + 24035587 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035588 => "Litoral\/Annobón", + 24035589 => "Bioko", + 24035597 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035598 => "Litoral\/Annobón", + 24035599 => "Bioko", + 24035607 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035608 => "Litoral\/Annobón", + 24035609 => "Bioko", + 24035617 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035618 => "Litoral\/Annobón", + 24035619 => "Bioko", + 24035627 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035628 => "Litoral\/Annobón", + 24035629 => "Bioko", + 24035637 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035638 => "Litoral\/Annobón", + 24035639 => "Bioko", + 24035647 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035648 => "Litoral\/Annobón", + 24035649 => "Bioko", + 24035657 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035658 => "Litoral\/Annobón", + 24035659 => "Bioko", + 24035667 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035668 => "Litoral\/Annobón", + 24035669 => "Bioko", + 24035677 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035678 => "Litoral\/Annobón", + 24035679 => "Bioko", + 24035687 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035688 => "Litoral\/Annobón", + 24035689 => "Bioko", + 24035697 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035698 => "Litoral\/Annobón", + 24035699 => "Bioko", + 24035707 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035708 => "Litoral\/Annobón", + 24035709 => "Bioko", + 24035717 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035718 => "Litoral\/Annobón", + 24035719 => "Bioko", + 24035727 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035728 => "Litoral\/Annobón", + 24035729 => "Bioko", + 24035737 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035738 => "Litoral\/Annobón", + 24035739 => "Bioko", + 24035747 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035748 => "Litoral\/Annobón", + 24035749 => "Bioko", + 24035757 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035758 => "Litoral\/Annobón", + 24035759 => "Bioko", + 24035767 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035768 => "Litoral\/Annobón", + 24035769 => "Bioko", + 24035777 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035778 => "Litoral\/Annobón", + 24035779 => "Bioko", + 24035787 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035788 => "Litoral\/Annobón", + 24035789 => "Bioko", + 24035797 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035798 => "Litoral\/Annobón", + 24035799 => "Bioko", + 24035807 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035808 => "Litoral\/Annobón", + 24035809 => "Bioko", + 24035817 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035818 => "Litoral\/Annobón", + 24035819 => "Bioko", + 24035827 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035828 => "Litoral\/Annobón", + 24035829 => "Bioko", + 24035837 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035838 => "Litoral\/Annobón", + 24035839 => "Bioko", + 24035847 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035848 => "Litoral\/Annobón", + 24035849 => "Bioko", + 24035857 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035858 => "Litoral\/Annobón", + 24035859 => "Bioko", + 24035867 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035868 => "Litoral\/Annobón", + 24035869 => "Bioko", + 24035877 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035878 => "Litoral\/Annobón", + 24035879 => "Bioko", + 24035887 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035888 => "Litoral\/Annobón", + 24035889 => "Bioko", + 24035897 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035898 => "Litoral\/Annobón", + 24035899 => "Bioko", + 24035907 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035908 => "Litoral\/Annobón", + 24035909 => "Bioko", + 24035917 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035918 => "Litoral\/Annobón", + 24035919 => "Bioko", + 24035927 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035928 => "Litoral\/Annobón", + 24035929 => "Bioko", + 24035937 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035938 => "Litoral\/Annobón", + 24035939 => "Bioko", + 24035947 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035948 => "Litoral\/Annobón", + 24035949 => "Bioko", + 24035957 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035958 => "Litoral\/Annobón", + 24035959 => "Bioko", + 24035967 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035968 => "Litoral\/Annobón", + 24035969 => "Bioko", + 24035977 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035978 => "Litoral\/Annobón", + 24035979 => "Bioko", + 24035987 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035988 => "Litoral\/Annobón", + 24035989 => "Bioko", + 24035997 => "Centro\-Sur\/Kié\-Ntem\/Wele\-Nzás", + 24035998 => "Litoral\/Annobón", + 24035999 => "Bioko", +); sub new { my $class = shift; my $number = shift; $number =~ s/(^\+240|\D)//g; - my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + my $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self->is_valid() ? $self : undef; } 1; \ No newline at end of file diff --git a/lib/Number/Phone/StubCountry/GR.pm b/lib/Number/Phone/StubCountry/GR.pm index eb2148601bf15da6c9b4d20e0d5e0e4582b48785..9c15975b4add09170c485ae4cb5742f6be42bcf0 100644 --- a/lib/Number/Phone/StubCountry/GR.pm +++ b/lib/Number/Phone/StubCountry/GR.pm @@ -22,15 +22,15 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '([27]\\d)(\\d{4})(\\d{4})', 'leading_digits' => ' 21| 7 - ', - 'pattern' => '([27]\\d)(\\d{4})(\\d{4})' + ' }, { 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', @@ -40,15 +40,22 @@ my $formatters = [ ' }, { - 'leading_digits' => '2[2-9][02-9]', - 'pattern' => '(2\\d{3})(\\d{6})' + 'pattern' => '(2\\d{3})(\\d{6})', + 'leading_digits' => '2[2-9][02-9]' } ]; my $validators = { 'mobile' => '69\\d{8}', + 'specialrate' => '( + 8(?: + 0[16]| + 12| + 25 + )\\d{7} + )|(90[19]\\d{7})', 'toll_free' => '800\\d{7}', - 'fixed_line' => ' + 'geographic' => ' 2(?: 1\\d{2}| 2(?: @@ -110,7 +117,10 @@ my $validators = { ) )\\d{6} ', - 'geographic' => ' + 'personal_number' => '70\\d{8}', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' 2(?: 1\\d{2}| 2(?: @@ -171,17 +181,7 @@ my $validators = { 9[1-57] ) )\\d{6} - ', - 'voip' => '', - 'specialrate' => '( - 8(?: - 0[16]| - 12| - 25 - )\\d{7} - )|(90[19]\\d{7})', - 'personal_number' => '70\\d{8}', - 'pager' => '' + ' }; my %areanames = ( 3021 => "Athens\/Piraeus\/Salamina", diff --git a/lib/Number/Phone/StubCountry/GT.pm b/lib/Number/Phone/StubCountry/GT.pm index a417e38be737db6703bba005085c59356cd49c4e..0389dd78a2385227a61a21e9262068d1ef1b1d03 100644 --- a/lib/Number/Phone/StubCountry/GT.pm +++ b/lib/Number/Phone/StubCountry/GT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,20 +30,20 @@ my $formatters = [ 'leading_digits' => '[2-7]' }, { - 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})' } ]; my $validators = { 'toll_free' => '18[01]\\d{8}', - 'mobile' => '[345]\\d{7}', - 'voip' => '', - 'fixed_line' => '[267][2-9]\\d{6}', + 'personal_number' => '', 'geographic' => '[267][2-9]\\d{6}', + 'mobile' => '[345]\\d{7}', 'specialrate' => '(19\\d{9})', - 'pager' => '', - 'personal_number' => '' + 'fixed_line' => '[267][2-9]\\d{6}', + 'voip' => '', + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/GU.pm b/lib/Number/Phone/StubCountry/GU.pm index dcff620b5eaa3377ce12a9d0f59851e80d7739ed..64322827d6e806fa50125db6621e6a6014e1b235 100644 --- a/lib/Number/Phone/StubCountry/GU.pm +++ b/lib/Number/Phone/StubCountry/GU.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,29 +34,9 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(900[2-9]\\d{6})', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', 'pager' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', + 'voip' => '', + 'specialrate' => '(900[2-9]\\d{6})', 'geographic' => '( 671(?: 3(?: @@ -148,7 +128,28 @@ my $validators = { ) )\\d{4} )', - 'voip' => '' + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/GW.pm b/lib/Number/Phone/StubCountry/GW.pm index faecc9c4c49a64b66cf27fc348c1a0756403a776..95fed487bca7c81dd552d0c66378745600ccae8c 100644 --- a/lib/Number/Phone/StubCountry/GW.pm +++ b/lib/Number/Phone/StubCountry/GW.pm @@ -22,15 +22,15 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'leading_digits' => ' 44| 9[567] - ' + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' }, { 'pattern' => '(\\d{3})(\\d{4})', @@ -39,41 +39,27 @@ my $formatters = [ ]; my $validators = { + 'fixed_line' => '443\\d{6}', + 'pager' => '', + 'voip' => '40\\d{5}', 'toll_free' => '', + 'geographic' => '443\\d{6}', + 'personal_number' => '', + 'specialrate' => '', 'mobile' => ' 9(?: - 55\\d| + 5(?: + 5\\d| + 6[0-2] + )| 6(?: + 5[0-2]| 6\\d| 9[012] )| 77\\d )\\d{5} - ', - 'voip' => '40\\d{5}', - 'fixed_line' => ' - 443(?: - 2[0125]| - 3[1245]| - 4[12]| - 5[1-4]| - 70| - 9[1-467] - )\\d{4} - ', - 'geographic' => ' - 443(?: - 2[0125]| - 3[1245]| - 4[12]| - 5[1-4]| - 70| - 9[1-467] - )\\d{4} - ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + ' }; my %areanames = ( 24544320 => "Bissau", diff --git a/lib/Number/Phone/StubCountry/GY.pm b/lib/Number/Phone/StubCountry/GY.pm index 5388020bec420360673d82fa6dbe19e87ccbf7bd..d41caa59e8c1d79c5314c6e8cf0f75a2abbe851a 100644 --- a/lib/Number/Phone/StubCountry/GY.pm +++ b/lib/Number/Phone/StubCountry/GY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,11 +31,7 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(9008\\d{3})', - 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' (?: 2(?: 1[6-9]| @@ -56,7 +52,10 @@ my $validators = { 77[1-57] )\\d{4} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' (?: 2(?: 1[6-9]| @@ -83,6 +82,7 @@ my $validators = { 862 )\\d{4} ', + 'specialrate' => '(9008\\d{3})', 'mobile' => '6\\d{6}' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/HK.pm b/lib/Number/Phone/StubCountry/HK.pm index a91f246e1aba40f6edce7684bf2bd323e647f4d8..b2d88bded0f34bb2c3a4475fc544bc12773fb5fd 100644 --- a/lib/Number/Phone/StubCountry/HK.pm +++ b/lib/Number/Phone/StubCountry/HK.pm @@ -22,26 +22,26 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{4})(\\d{4})', 'leading_digits' => ' [235-7]| [89](?: 0[1-9]| [1-9] ) - ', - 'pattern' => '(\\d{4})(\\d{4})' + ' }, { - 'leading_digits' => '800', - 'pattern' => '(800)(\\d{3})(\\d{3})' + 'pattern' => '(800)(\\d{3})(\\d{3})', + 'leading_digits' => '800' }, { - 'pattern' => '(900)(\\d{2})(\\d{3})(\\d{3})', - 'leading_digits' => '900' + 'leading_digits' => '900', + 'pattern' => '(900)(\\d{2})(\\d{3})(\\d{3})' }, { 'pattern' => '(900)(\\d{2,5})', @@ -50,39 +50,69 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => ' - (?: - [23]\\d| - 58 - )\\d{6} - ', 'geographic' => ' (?: - [23]\\d| - 58 - )\\d{6} + 2(?: + [13-8]\\d| + 2[013-9]| + 9[0-24-9] + )| + 3(?: + [1569][0-24-9]| + 4[0-246-9]| + 7[0-24-69]| + 89 + )| + 58[01] + )\\d{5} ', - 'voip' => '', + 'personal_number' => '8[1-3]\\d{6}', 'toll_free' => '800\\d{6}', 'mobile' => ' (?: - 5[1-79]\\d| - 6\\d{2}| - 8[4-79]\\d| + 5(?: + [1-59][0-46-9]| + 6[0-4689]| + 7[0-2469] + )| + 6(?: + 0[1-9]| + [1459]\\d| + [2368][0-57-9]| + 7[0-79] + )| 9(?: 0[1-9]| - [1-8]\\d + 1[02-9]| + [2358][0-8]| + [467]\\d ) )\\d{5} ', - 'pager' => '7\\d{7}', - 'personal_number' => '8[1-3]\\d{6}', 'specialrate' => '( 900(?: [0-24-9]\\d{7}| 3\\d{1,4} ) - )' + )', + 'fixed_line' => ' + (?: + 2(?: + [13-8]\\d| + 2[013-9]| + 9[0-24-9] + )| + 3(?: + [1569][0-24-9]| + 4[0-246-9]| + 7[0-24-69]| + 89 + )| + 58[01] + )\\d{5} + ', + 'pager' => '7\\d{7}', + 'voip' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/HN.pm b/lib/Number/Phone/StubCountry/HN.pm index ebf862c830d42c93b07423aee3158006bf5eed11..e3baa2d1740aa66666a5979f57af17b4764f69b4 100644 --- a/lib/Number/Phone/StubCountry/HN.pm +++ b/lib/Number/Phone/StubCountry/HN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,16 +31,13 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'geographic' => ' + 'fixed_line' => ' 2(?: 2(?: 0[019]| 1[1-36]| [23]\\d| - 4[056]| + 4[04-6]| 5[57]| 7[01389]| 8[0146-9]| @@ -80,13 +77,15 @@ my $validators = { ) )\\d{4} ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '', + 'geographic' => ' 2(?: 2(?: 0[019]| 1[1-36]| [23]\\d| - 4[056]| + 4[04-6]| 5[57]| 7[01389]| 8[0146-9]| @@ -126,11 +125,13 @@ my $validators = { ) )\\d{4} ', - 'voip' => '', + 'personal_number' => '', + 'toll_free' => '', 'mobile' => '[37-9]\\d{7}', - 'toll_free' => '' + 'specialrate' => '' }; my %areanames = ( + 5042244 => "Tegucigalpa", 5042407 => "Roatan\,\ Bay\ Islands", 5042516 => "San\ Pedro\ Sula\,\ Cortés", 5042540 => "San\ Pedro\ Sula\,\ Cortés", diff --git a/lib/Number/Phone/StubCountry/HR.pm b/lib/Number/Phone/StubCountry/HR.pm index 97d0fa2a283d63a108f86b8a10cf1b0f9c8328e5..41183889a4ebbca84d86efc48ea725831dc57079 100644 --- a/lib/Number/Phone/StubCountry/HR.pm +++ b/lib/Number/Phone/StubCountry/HR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,63 +30,34 @@ my $formatters = [ 'leading_digits' => '1' }, { - 'pattern' => '(6[09])(\\d{4})(\\d{3})', - 'leading_digits' => '6[09]' - }, - { - 'pattern' => '([67]2)(\\d{3})(\\d{3,4})', - 'leading_digits' => '[67]2' - }, - { - 'leading_digits' => '[2-5]', - 'pattern' => '([2-5]\\d)(\\d{3})(\\d{3,4})' + 'pattern' => '([2-5]\\d)(\\d{3})(\\d{3,4})', + 'leading_digits' => '[2-5]' }, { 'leading_digits' => '9', 'pattern' => '(9\\d)(\\d{3})(\\d{3,4})' }, { - 'pattern' => '(9\\d)(\\d{4})(\\d{4})', - 'leading_digits' => '9' + 'pattern' => '(6[01])(\\d{2})(\\d{2,3})', + 'leading_digits' => '6[01]' }, { - 'pattern' => '(9\\d)(\\d{3,4})(\\d{3})(\\d{3})', - 'leading_digits' => '9' + 'leading_digits' => '[67]', + 'pattern' => '([67]\\d)(\\d{3})(\\d{3,4})' }, { - 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', - 'leading_digits' => ' - 6[0145]| - 7 - ' - }, - { - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{3})', - 'leading_digits' => ' - 6[0145]| - 7 - ' + 'leading_digits' => '8', + 'pattern' => '(80[01])(\\d{2})(\\d{2,3})' }, { - 'pattern' => '(80[01])(\\d{2})(\\d{2,3})', + 'pattern' => '(80[01])(\\d{3})(\\d{3})', 'leading_digits' => '8' - }, - { - 'leading_digits' => '8', - 'pattern' => '(80[01])(\\d{3,4})(\\d{3})' } ]; my $validators = { - 'toll_free' => '80[01]\\d{4,7}', - 'mobile' => ' - 9(?: - [1-9]\\d{6,10}| - 01\\d{6,9} - ) - ', - 'voip' => '', - 'fixed_line' => ' + 'personal_number' => '7[45]\\d{6}', + 'geographic' => ' 1\\d{7}| (?: 2[0-3]| @@ -95,7 +66,30 @@ my $validators = { 5[1-3] )\\d{6,7} ', - 'geographic' => ' + 'toll_free' => '80[01]\\d{4,6}', + 'specialrate' => '( + 6(?: + [01]\\d{0,2}| + [459]\\d{2} + )\\d{4} + )|( + (?: + 62\\d?| + 72 + )\\d{6} + )', + 'mobile' => ' + 9(?: + 01\\d| + [1259]\\d{2}| + 7(?: + [0679]\\d| + 51 + )| + 8\\d{1,2} + )\\d{5} + ', + 'fixed_line' => ' 1\\d{7}| (?: 2[0-3]| @@ -104,13 +98,8 @@ my $validators = { 5[1-3] )\\d{6,7} ', - 'specialrate' => '( - 6(?: - [01459]\\d{4,7} - ) - )|([76]2\\d{6,7})', - 'pager' => '', - 'personal_number' => '7[45]\\d{4,7}' + 'voip' => '', + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/HT.pm b/lib/Number/Phone/StubCountry/HT.pm index f8733363fadc9f956373db49b0872ccb9231db45..51874495253f5d653c6e11e2239448dd7f233ebf 100644 --- a/lib/Number/Phone/StubCountry/HT.pm +++ b/lib/Number/Phone/StubCountry/HT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,24 +31,20 @@ my $formatters = [ ]; my $validators = { + 'voip' => '98[89]\\d{5}', + 'pager' => '', 'fixed_line' => ' 2(?: - [248]\\d| - 5[1-5]| - 94 + [24]\\d| + 5[1-5] )\\d{5} ', - 'geographic' => ' - 2(?: - [248]\\d| - 5[1-5]| - 94 - )\\d{5} - ', - 'voip' => '98[89]\\d{5}', - 'toll_free' => '8\\d{7}', 'mobile' => ' (?: + 2(?: + 81| + 9\\d + )| 3[1-9]\\d| 4\\d{2}| 9(?: @@ -57,9 +53,15 @@ my $validators = { ) )\\d{5} ', - 'pager' => '', + 'specialrate' => '', + 'toll_free' => '8\\d{7}', 'personal_number' => '', - 'specialrate' => '' + 'geographic' => ' + 2(?: + [24]\\d| + 5[1-5] + )\\d{5} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/HU.pm b/lib/Number/Phone/StubCountry/HU.pm index afc5c11207cea23280cf617d9b3772963ee68d01..cf142622862b440530967073e5b5fe3922e2e714 100644 --- a/lib/Number/Phone/StubCountry/HU.pm +++ b/lib/Number/Phone/StubCountry/HU.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '1', - 'pattern' => '(1)(\\d{3})(\\d{4})' + 'pattern' => '(1)(\\d{3})(\\d{4})', + 'leading_digits' => '1' }, { 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', @@ -36,16 +36,7 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(9[01]\\d{6})|(38\\d{7})', 'personal_number' => '', - 'pager' => '', - 'mobile' => ' - (?: - [257]0| - 3[01] - )\\d{7} - ', - 'toll_free' => '[48]0\\d{6}', 'geographic' => ' (?: 1\\d| @@ -59,6 +50,14 @@ my $validators = { 9[2-69] )\\d{6} ', + 'toll_free' => '[48]0\\d{6}', + 'mobile' => ' + (?: + [257]0| + 3[01] + )\\d{7} + ', + 'specialrate' => '(9[01]\\d{6})|(38\\d{7})', 'fixed_line' => ' (?: 1\\d| @@ -72,7 +71,8 @@ my $validators = { 9[2-69] )\\d{6} ', - 'voip' => '21\\d{7}' + 'voip' => '21\\d{7}', + 'pager' => '' }; my %areanames = ( 361 => "Budapest", diff --git a/lib/Number/Phone/StubCountry/ID.pm b/lib/Number/Phone/StubCountry/ID.pm index 226c34574c33575eda2f1189c0e359ac8651d90b..7258fa5b318684388edf5e6a9b4aff9e3e19ef3e 100644 --- a/lib/Number/Phone/StubCountry/ID.pm +++ b/lib/Number/Phone/StubCountry/ID.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -33,41 +33,45 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{5,8})' }, { - 'pattern' => '(\\d{3})(\\d{5,8})', 'leading_digits' => ' [4579]| 2[035-9]| [36][02-9] - ' + ', + 'pattern' => '(\\d{3})(\\d{5,8})' + }, + { + 'leading_digits' => '8[1-35-9]', + 'pattern' => '(8\\d{2})(\\d{3,4})(\\d{3})' }, { 'leading_digits' => '8[1-35-9]', - 'pattern' => '(8\\d{2})(\\d{3,4})(\\d{3,5})' + 'pattern' => '(8\\d{2})(\\d{4})(\\d{4,5})' }, { - 'pattern' => '(1)(500)(\\d{3})', - 'leading_digits' => '15' + 'leading_digits' => '15', + 'pattern' => '(1)(500)(\\d{3})' }, { 'leading_digits' => '17', 'pattern' => '(177)(\\d{6,8})' }, { - 'pattern' => '(800)(\\d{5,7})', - 'leading_digits' => '800' + 'leading_digits' => '800', + 'pattern' => '(800)(\\d{5,7})' }, { - 'pattern' => '(804)(\\d{3})(\\d{4})', - 'leading_digits' => '804' + 'leading_digits' => '804', + 'pattern' => '(804)(\\d{3})(\\d{4})' }, { - 'pattern' => '(80\\d)(\\d)(\\d{3})(\\d{3})', - 'leading_digits' => '80[79]' + 'leading_digits' => '80[79]', + 'pattern' => '(80\\d)(\\d)(\\d{3})(\\d{3})' } ]; my $validators = { - 'geographic' => ' + 'fixed_line' => ' 2(?: 1(?: 14\\d{3}| @@ -138,7 +142,14 @@ my $validators = { ) )\\d{5,8} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'toll_free' => ' + 177\\d{6,8}| + 800\\d{5,7} + ', + 'personal_number' => '', + 'geographic' => ' 2(?: 1(?: 14\\d{3}| @@ -209,7 +220,6 @@ my $validators = { ) )\\d{5,8} ', - 'voip' => '', 'mobile' => ' (?: 2(?: @@ -287,12 +297,6 @@ my $validators = { )\\d{5,6}| 8[1-35-9]\\d{7,10} ', - 'toll_free' => ' - 177\\d{6,8}| - 800\\d{5,7} - ', - 'personal_number' => '', - 'pager' => '', 'specialrate' => '(804\\d{7})|(809\\d{7})|( 1500\\d{3}| 8071\\d{6} @@ -305,7 +309,7 @@ my %areanames = ( 62232 => "Kuningan", 62233 => "Majalengka", 62234 => "Indramayu", - 6224 => "Semarang", + 6224 => "Semarang\/Demak", 62251 => "Bogor", 62252 => "Rangkasbitung", 62253 => "Pandeglang", @@ -400,7 +404,7 @@ my %areanames = ( 62405 => "Kolaka", 62408 => "Unaaha", 62410 => "Pangkep", - 62411 => "Makassar", + 62411 => "Makassar\/Maros\/Sungguminasa", 62413 => "Bulukumba\/Bantaeng", 62414 => "Kepulauan\ Selayar", 62417 => "Malino", diff --git a/lib/Number/Phone/StubCountry/IE.pm b/lib/Number/Phone/StubCountry/IE.pm index 4928b67d6a0794072d295a77a6eb30107e633144..cef7eef40bb1a34cb6157b5aebe31beff84d1b41 100644 --- a/lib/Number/Phone/StubCountry/IE.pm +++ b/lib/Number/Phone/StubCountry/IE.pm @@ -22,22 +22,22 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(1)(\\d{3,4})(\\d{4})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(1)(\\d{3,4})(\\d{4})' }, { + 'pattern' => '(\\d{2})(\\d{5})', 'leading_digits' => ' 2[24-9]| 47| 58| 6[237-9]| 9[35-9] - ', - 'pattern' => '(\\d{2})(\\d{5})' + ' }, { 'leading_digits' => ' @@ -51,8 +51,8 @@ my $formatters = [ 'pattern' => '(48)(\\d{4})(\\d{4})' }, { - 'leading_digits' => '81', - 'pattern' => '(818)(\\d{3})(\\d{3})' + 'pattern' => '(818)(\\d{3})(\\d{3})', + 'leading_digits' => '81' }, { 'leading_digits' => ' @@ -62,11 +62,11 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})' }, { + 'pattern' => '([78]\\d)(\\d{3,4})(\\d{4})', 'leading_digits' => ' 76| 8[35-9] - ', - 'pattern' => '([78]\\d)(\\d{3,4})(\\d{4})' + ' }, { 'pattern' => '(700)(\\d{3})(\\d{3})', @@ -84,13 +84,8 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - 8(?: - 22\\d{6}| - [35-9]\\d{7} - ) - ', - 'toll_free' => '1800\\d{6}', + 'voip' => '76\\d{7}', + 'pager' => '', 'fixed_line' => ' 1\\d{7,8}| 2(?: @@ -123,6 +118,21 @@ my $validators = { [35-9]\\d{5} ) ', + 'mobile' => ' + 8(?: + 22\\d{6}| + [35-9]\\d{7} + ) + ', + 'specialrate' => '(18[59]0\\d{6})|( + 15(?: + 1[2-8]| + [2-8]0| + 9[089] + )\\d{6} + )|(818\\d{6})', + 'toll_free' => '1800\\d{6}', + 'personal_number' => '700\\d{6}', 'geographic' => ' 1\\d{7,8}| 2(?: @@ -154,17 +164,7 @@ my $validators = { [04]\\d{7}| [35-9]\\d{5} ) - ', - 'voip' => '76\\d{7}', - 'specialrate' => '(18[59]0\\d{6})|( - 15(?: - 1[2-8]| - [2-8]0| - 9[089] - )\\d{6} - )|(818\\d{6})', - 'personal_number' => '700\\d{6}', - 'pager' => '' + ' }; my %areanames = ( 3531 => "Dublin", diff --git a/lib/Number/Phone/StubCountry/IL.pm b/lib/Number/Phone/StubCountry/IL.pm index ce266aa41067176fd334704f39df924f14de92cd..873d0e255f70bb23a57ee8a4a5438cb97d6acf3e 100644 --- a/lib/Number/Phone/StubCountry/IL.pm +++ b/lib/Number/Phone/StubCountry/IL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,8 +30,12 @@ my $formatters = [ 'leading_digits' => '[2-489]' }, { - 'pattern' => '([57]\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '[57]' + 'leading_digits' => '[57]', + 'pattern' => '([57]\\d)(\\d{3})(\\d{4})' + }, + { + 'pattern' => '(153)(\\d{1,2})(\\d{3})(\\d{4})', + 'leading_digits' => '153' }, { 'leading_digits' => '1[7-9]', @@ -42,8 +46,8 @@ my $formatters = [ 'pattern' => '(1255)(\\d{3})' }, { - 'pattern' => '(1200)(\\d{3})(\\d{3})', - 'leading_digits' => '120' + 'leading_digits' => '120', + 'pattern' => '(1200)(\\d{3})(\\d{3})' }, { 'leading_digits' => '121', @@ -54,8 +58,8 @@ my $formatters = [ 'leading_digits' => '15' }, { - 'pattern' => '(\\d{4})', - 'leading_digits' => '[2-689]' + 'leading_digits' => '[2-689]', + 'pattern' => '(\\d{4})' } ]; @@ -75,14 +79,6 @@ my $validators = { [2-689]\\d{3}| 1599\\d{6} )', - 'personal_number' => '', - 'pager' => '', - 'toll_free' => ' - 1(?: - 80[019]\\d{3}| - 255 - )\\d{3} - ', 'mobile' => ' 5(?: [02-47-9]\\d{2}| @@ -100,18 +96,26 @@ my $validators = { 6[2-9]\\d )\\d{5} ', - 'geographic' => '[2-489]\\d{7}', - 'fixed_line' => '[2-489]\\d{7}', + 'toll_free' => ' + 1(?: + 80[019]\\d{3}| + 255 + )\\d{3} + ', + 'personal_number' => '', + 'geographic' => ' + (?: + 153\\d{1,2}| + [2-489] + )\\d{7} + ', 'voip' => ' 7(?: 18\\d| 2[23]\\d| 3[237]\\d| 47\\d| - 6(?: - 5\\d| - 8[0168] - )| + 6[58]\\d| 7\\d{2}| 8(?: 2\\d| @@ -120,8 +124,15 @@ my $validators = { 77| 81 )| - 9[29]\\d + 9[2579]\\d )\\d{5} + ', + 'pager' => '', + 'fixed_line' => ' + (?: + 153\\d{1,2}| + [2-489] + )\\d{7} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/IM.pm b/lib/Number/Phone/StubCountry/IM.pm index 37a839b073532759b0cd7398387604b2d40aed43..34452deaba4102d18eef50868dad432988e43d63 100644 --- a/lib/Number/Phone/StubCountry/IM.pm +++ b/lib/Number/Phone/StubCountry/IM.pm @@ -22,24 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { 'leading_digits' => ' - 2| - 5[56]| 7(?: - 0| - 6(?: - [013-9]| - 2[0-35-9] - ) + [1-5789]| + 6242 ) ', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + 'pattern' => '(7\\d{3})(\\d{6})' + }, + { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'leading_digits' => ' + 2| + 5[56]| + 7[06] + ' }, { + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 1(?: 1| @@ -47,8 +51,7 @@ my $formatters = [ )| 3| 9[018] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + ' }, { 'leading_digits' => ' @@ -69,22 +72,13 @@ my $formatters = [ 'leading_digits' => '1', 'pattern' => '(1\\d{3})(\\d{5,6})' }, - { - 'leading_digits' => ' - 7(?: - [1-5789]| - 624 - ) - ', - 'pattern' => '(7\\d{3})(\\d{6})' - }, { 'pattern' => '(800)(\\d{4})', 'leading_digits' => '8001111' }, { - 'leading_digits' => '845464', - 'pattern' => '(845)(46)(4\\d)' + 'pattern' => '(845)(46)(4\\d)', + 'leading_digits' => '845464' }, { 'pattern' => '(8\\d{2})(\\d{3})(\\d{4})', @@ -96,8 +90,8 @@ my $formatters = [ ' }, { - 'pattern' => '(80\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(80\\d)(\\d{3})(\\d{4})' }, { 'leading_digits' => '[58]00', @@ -106,6 +100,18 @@ my $formatters = [ ]; my $validators = { + 'fixed_line' => '1624\\d{6}', + 'voip' => '56\\d{8}', + 'pager' => '76242\\d{5}', + 'toll_free' => '808162\\d{4}', + 'personal_number' => '70\\d{8}', + 'geographic' => '1624\\d{6}', + 'mobile' => ' + 7(?: + 4576| + [59]24\\d + )\\d{5} + ', 'specialrate' => '( 8(?: 4(?: @@ -133,14 +139,7 @@ my $validators = { ) )\\d{3}| 55\\d{8} - )', - 'pager' => '', - 'personal_number' => '70\\d{8}', - 'mobile' => '7[569]24\\d{6}', - 'toll_free' => '808162\\d{4}', - 'fixed_line' => '1624\\d{6}', - 'geographic' => '1624\\d{6}', - 'voip' => '56\\d{8}' + )' }; my %areanames = ( 44113 => "Leeds", diff --git a/lib/Number/Phone/StubCountry/IN.pm b/lib/Number/Phone/StubCountry/IN.pm index 4572d0660dddb758c5e9f1d624eec8b7aa0e20c4..c9e8b467158c5ce279a7fd9b17a6ac5f272b7f89 100644 --- a/lib/Number/Phone/StubCountry/IN.pm +++ b/lib/Number/Phone/StubCountry/IN.pm @@ -22,20 +22,22 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { 'pattern' => '(\\d{5})(\\d{5})', 'leading_digits' => ' + 600| 7(?: 0| + 19[0-5]| 2(?: [0235679]| [14][017-9]| 8(?: [0-569]| - 78 + [78][089] )| 9[389] )| @@ -67,10 +69,10 @@ my $formatters = [ [0135-9]| [23][089]| 2[089]| - 4[08] + 4[089] )| 2(?: - 09| + 0[089]| [1-7][089]| [89] )| @@ -99,7 +101,7 @@ my $formatters = [ )| 5(?: [0346-9]| - 1[019]| + 1[017-9]| 2(?: [03-9]| [12][089] @@ -107,19 +109,23 @@ my $formatters = [ 5[017-9] )| 6(?: - [06-9]| + [0346-9]| 1[0-257-9]| - 2[0-5]| - 3[19]| - 5[4589] + 2(?: + [0-4]\\d| + [5-9][089] + )| + 5(?: + [0-367][089]| + [4589] + ) )| 7(?: 0(?: [02-9]| - 10 + 1[089] )| - [1-79]| - 8[1-9] + [1-9] )| 8(?: [0-79]| @@ -127,20 +133,15 @@ my $formatters = [ 0[0189]| 11| 8[013-9]| - 9[012] + 9 ) )| 9(?: - 0| + [089]| + 313| 7(?: - [2-8]| - 9[7-9] - )| - 8[0246-9]| - 9(?: - [04-9]| - 11| - 2[234] + [02-8]| + 9[07-9] ) ) )| @@ -149,34 +150,60 @@ my $formatters = [ [01589]| 6[67]| 7(?: - [2-7]| - 86| - 90 + [02-8]| + 9[05-9] ) )| 1(?: [02-57-9]| 1(?: - [0135-9]| - 22| - 44 + [0-35-9]| + 4[0-46-9] )| - 6[089] + 6(?: + [089]| + 7[02-8] + ) )| 2(?: - 0[08]| - [236-9]| - 5[1-9] + 0(?: + [08]| + 7[02] + )| + [14](?: + [089]| + 7[02-8] + )| + [235-9] )| 3(?: [0357-9]| - 170| - 28[0-6]| - 4[1-9] + 1(?: + [089]| + 7[02-6] + )| + 2(?: + [09]| + 77| + 8[0-689] + )| + 4[1-9]| + 6(?: + [089]| + 7[02-7] + ) )| [45]| 6(?: [02457-9]| + 1(?: + [089]| + 7[02-8] + )| + 3(?: + [089]| + 7[02358] + )| 6(?: [08]| 7[02-8]| @@ -184,25 +211,41 @@ my $formatters = [ ) )| 7(?: - 0[07]| - [1-69] + 0[07-9]| + [1-69]| + 7(?: + [089]| + 7[02-8] + )| + 8(?: + [089]| + 7[02-8] + ) )| 8(?: - [0-26-9]| - 44| - 5[2-9] + [0-25-9]| + 3(?: + [089]| + 7[02-8] + )| + 4(?: + [0489]| + 7[02-68] + ) )| 9(?: - [035-9]| - 19| - 2[2-9]| - 4[0-8] + [02-9]| + 1(?: + [0289]| + 7[2-6] + ) ) )| 9 ' }, { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'leading_digits' => ' 11| 2[02]| @@ -210,11 +253,9 @@ my $formatters = [ 4[04]| 79[1-9]| 80[2-46] - ', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + ' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 1(?: 2[0-249]| @@ -269,28 +310,16 @@ my $formatters = [ 6[13]| 7[14]| 80 - ) - ' - }, - { - 'leading_digits' => ' + )| 7(?: 12| 2[14]| 3[134]| 4[47]| - 5(?: - 1| - 5[2-6] - )| + 5[15]| [67]1| 88 - ) - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' - }, - { - 'leading_digits' => ' + )| 8(?: 16| 2[014]| @@ -304,256 +333,48 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' }, { - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'leading_digits' => ' 1(?: [23579]| [468][1-9] )| [2-8] - ' + ', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})' }, { - 'leading_digits' => '008', - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})(\\d{3})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})(\\d{3})', + 'leading_digits' => '008' + }, + { + 'leading_digits' => '140', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' }, { 'leading_digits' => '1600', - 'pattern' => '(1600)(\\d{2})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{2})(\\d{4})' }, { - 'pattern' => '(1800)(\\d{4,5})', + 'pattern' => '(\\d{4})(\\d{4,5})', 'leading_digits' => '1800' }, { - 'leading_digits' => '18[06]0', - 'pattern' => '(18[06]0)(\\d{2,4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{2,4})(\\d{4})', + 'leading_digits' => '1800' }, { - 'leading_digits' => '140', - 'pattern' => '(140)(\\d{3})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{3,4})(\\d{4})', + 'leading_digits' => '1860' }, { - 'leading_digits' => ' - 18(?: - 0[03]| - 6[12] - ) - ', - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})' + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', + 'leading_digits' => '18[06]' } ]; my $validators = { - 'specialrate' => '(1860\\d{7})|(186[12]\\d{9})|(140\\d{7})', + 'voip' => '', 'pager' => '', - 'personal_number' => '', - 'toll_free' => ' - 00800\\d{7}| - 1(?: - 600\\d{6}| - 80(?: - 0\\d{4,9}| - 3\\d{9} - ) - ) - ', - 'mobile' => ' - (?: - 7(?: - 0\\d{3}| - 2(?: - [0235679]\\d{2}| - [14][017-9]\\d| - 8(?: - [0-59]\\d| - 6[089]| - 78 - ) - )| - 3(?: - [05-8]\\d{2}| - 1(?: - [089]\\d| - 7[5-8] - )| - 2(?: - [0-49][089]| - [5-8]\\d - )| - 3[017-9]\\d| - 4(?: - [07-9]\\d| - 11 - )| - 9(?: - [016-9]\\d| - [2-5][089] - ) - )| - 4(?: - 0\\d{2}| - 1(?: - [015-9]\\d| - [23][089]| - 4[08] - )| - 2(?: - 09| - [1-7][089]| - [89]\\d - )| - 3(?: - [0-8][089]| - 9\\d - )| - 4(?: - [089]\\d| - 11| - 7[02-8] - )| - [56]\\d[089]| - 7(?: - [089]\\d| - 11| - 7[02-8] - )| - 8(?: - [0-24-7][089]| - [389]\\d - )| - 9(?: - [0-6][089]| - 7[089]| - [89]\\d - ) - )| - 5(?: - [0346-8]\\d{2}| - 1(?: - [09]\\d| - 11 - )| - 2(?: - [04-9]\\d| - [123][089] - )| - 5[017-9]\\d| - 9[0-6][089] - )| - 6(?: - 0(?: - [0-47]\\d| - [5689][089] - )| - (?: - 1[0-257-9]| - 3[19]| - 5[4589]| - [6-9]\\d - )\\d| - 2(?: - [0-4]\\d| - 50 - ) - )| - 7(?: - 0(?: - 0[2-9]| - 10| - 8\\d - )| - (?: - [1-79]\\d| - 8[1-9] - )\\d - )| - 8(?: - [0-79]\\d{2}| - 8(?: - [08]\\d| - 11| - 7[02-9]| - 9[012] - ) - )| - 9(?: - 0(?: - 0[01]| - [3-8]\\d| - 90 - )| - 7(?: - [26-8]\\d| - 9[07-9] - )| - 8[0246-9]\\d| - 9(?: - [04-9]\\d| - 11| - 2[234] - ) - ) - )| - 8(?: - 0(?: - [01589]\\d{2}| - 6[67]\\d| - 7(?: - [2-7]\\d| - 86| - 90 - ) - )| - 1(?: - [02-57-9]\\d{2}| - 1(?: - [0135-9]\\d| - 22| - 44 - )| - 6[089]\\d - )| - 2(?: - 0[08]| - [236-9]\\d| - 5[1-9] - )\\d| - 3(?: - [0357-9]\\d{2}| - 170| - 28[0-6]| - 4[1-9]\\d - )| - [45]\\d{3}| - 6(?: - [02457-9]\\d{2}| - 6(?: - [08]\\d| - 7[02-8]| - 9[01] - ) - )| - 7(?: - 0[07]| - [1-69]\\d| - 70 - )\\d| - 8(?: - [0-26-9]\\d| - 44| - 5[2-9] - )\\d| - 9(?: - [035-9]\\d| - 19| - 2[2-9]| - 4[0-8] - )\\d - )| - 9\\d{4} - )\\d{5} - ', 'fixed_line' => ' (?: 11| @@ -726,6 +547,249 @@ my $validators = { ) )[2-7]\\d{5} ', + 'mobile' => ' + (?: + 600[1-3]\\d| + 7(?: + 0\\d{3}| + 19[0-5]\\d| + 2(?: + [0235679]\\d{2}| + [14][017-9]\\d| + 8(?: + [0-59]\\d| + [678][089] + ) + )| + 3(?: + [05-8]\\d{2}| + 1(?: + [089]\\d| + 7[5-8] + )| + 2(?: + [0-49][089]| + [5-8]\\d + )| + 3[017-9]\\d| + 4(?: + [07-9]\\d| + 11 + )| + 9(?: + [016-9]\\d| + [2-5][089] + ) + )| + 4(?: + 0\\d{2}| + 1(?: + [015-9]\\d| + [23][089]| + 4[089] + )| + 2(?: + 0[089]| + [1-7][089]| + [89]\\d + )| + 3(?: + [0-8][089]| + 9\\d + )| + 4(?: + [089]\\d| + 11| + 7[02-8] + )| + [56]\\d[089]| + 7(?: + [089]\\d| + 11| + 7[02-8] + )| + 8(?: + [0-24-7][089]| + [389]\\d + )| + 9(?: + [0-6][089]| + 7[089]| + [89]\\d + ) + )| + 5(?: + [0346-8]\\d{2}| + 1(?: + [07-9]\\d| + 11 + )| + 2(?: + [04-9]\\d| + [123][089] + )| + 5[017-9]\\d| + 9(?: + [0-6][089]| + [7-9]\\d + ) + )| + 6(?: + 0(?: + [0-47]\\d| + [5689][089] + )| + (?: + 1[0-257-9]| + [6-9]\\d + )\\d| + 2(?: + [0-4]\\d| + [5-9][089] + )| + 3(?: + [02-8][089]| + [19]\\d + )| + 4\\d[089]| + 5(?: + [0-367][089]| + [4589]\\d + ) + )| + 7(?: + 0(?: + 0[02-9]| + [13-6][089]| + [289]\\d| + 7[89] + )| + [1-9]\\d{2} + )| + 8(?: + [0-79]\\d{2}| + 8(?: + [089]\\d| + 11| + 7[02-9] + ) + )| + 9(?: + [089]\\d{2}| + 313| + 7(?: + [02-8]\\d| + 9[07-9] + ) + ) + )| + 8(?: + 0(?: + [01589]\\d{2}| + 6[67]\\d| + 7(?: + [02-8]\\d| + 9[05-9] + ) + )| + 1(?: + [02-57-9]\\d{2}| + 1(?: + [0-35-9]\\d| + 4[0-46-9] + )| + 6(?: + [089]\\d| + 7[02-8] + ) + )| + 2(?: + 0(?: + [08]\\d| + 7[02] + )| + [14](?: + [089]\\d| + 7[02-8] + )| + [235-9]\\d{2} + )| + 3(?: + [0357-9]\\d{2}| + 1(?: + [089]\\d| + 7[02-6] + )| + 2(?: + [09]\\d| + 77| + 8[0-689] + )| + 4[1-9]\\d| + 6(?: + [089]\\d| + 7[02-7] + ) + )| + [45]\\d{3}| + 6(?: + [02457-9]\\d{2}| + 1(?: + [089]\\d| + 7[02-8] + )| + 3(?: + [089]\\d| + 7[02358] + )| + 6(?: + [08]\\d| + 7[02-8]| + 9[01] + ) + )| + 7(?: + 0[07-9]\\d| + [1-69]\\d{2}| + [78](?: + [089]\\d| + 7[02-8] + ) + )| + 8(?: + [0-25-9]\\d{2}| + 3(?: + [089]\\d| + 7[02-8] + )| + 4(?: + [0489]\\d| + 7[2-68] + ) + )| + 9(?: + [02-9]\\d{2}| + 1(?: + [0289]\\d| + 7[2-6] + ) + ) + )| + 9\\d{4} + )\\d{5} + ', + 'specialrate' => '(1860\\d{7})|(186[12]\\d{9})|(140\\d{7})', + 'toll_free' => ' + 00800\\d{7}| + 1(?: + 600\\d{6}| + 80(?: + 0\\d{4,9}| + 3\\d{9} + ) + ) + ', + 'personal_number' => '', 'geographic' => ' (?: 11| @@ -897,8 +961,7 @@ my $validators = { ) ) )[2-7]\\d{5} - ', - 'voip' => '' + ' }; my %areanames = ( 9111 => "New\ Delhi", @@ -1411,7 +1474,7 @@ my %areanames = ( 912527 => "Shahapur\,\ Maharashtra", 912528 => "Dahanu\,\ Maharashtra", 912529 => "Mokhada\,\ Maharashtra", - 91253 => "Nasikcity\,\ Maharashtra", + 91253 => "Nasik\ City\,\ Maharashtra", 912550 => "Niphad\,\ Maharashtra", 912551 => "Sinnar\,\ Maharashtra", 912552 => "Nandgaon\,\ Maharashtra", @@ -1621,7 +1684,7 @@ my %areanames = ( 912907 => "Kherwara\,\ Rajasthan", 912908 => "Amet\,\ Rajasthan", 912909 => "Bhim\/Dawer\,\ Rajasthan", - 91291 => "Jodhpur\ Jodhpur\,\ Rajasthan", + 91291 => "Jodhpur\,\ Rajasthan", 912920 => "Bilara\/Bhopalgarh\,\ Rajasthan", 912921 => "Phalodi\/Bap\,\ Rajasthan", 912922 => "Osian\,\ Rajasthan", @@ -2740,6 +2803,7 @@ my %areanames = ( 917262 => "Buldhana\,\ Maharashtra", 917263 => "Khamgaon\,\ Maharashtra", 917264 => "Chikhali\,\ Maharashtra", + 917265 => "Nandura\,\ Maharashtra", 917266 => "Jalgaonjamod\,\ Maharashtra", 917267 => "Malkapur\,\ Maharashtra", 917268 => "Mekhar\,\ Maharashtra", @@ -3119,7 +3183,7 @@ my %areanames = ( 917867 => "Bokaband\,\ Madhya\ Pradesh", 917868 => "Kanker\,\ Madhya\ Pradesh", 91788 => "Durg\,\ Madhya\ Pradesh", - 9179 => "Ahemdabad\ Local\,\ Gujarat", + 9179 => "Ahmedabad\ Local\,\ Gujarat", 9180 => "Bangalore\,\ Karnataka", 918110 => "Anekal\,\ Karnataka", 918111 => "Hosakote\,\ Karnataka", diff --git a/lib/Number/Phone/StubCountry/IO.pm b/lib/Number/Phone/StubCountry/IO.pm index 7cd3b3f808acbfbbae61966eaa2df53cc5cdb369..05271e7a83c8aa4b187c7d4895d6a6bc7079447b 100644 --- a/lib/Number/Phone/StubCountry/IO.pm +++ b/lib/Number/Phone/StubCountry/IO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,13 +31,13 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', 'fixed_line' => '37\\d{5}', - 'geographic' => '37\\d{5}', - 'mobile' => '38\\d{5}', - 'toll_free' => '', + 'voip' => '', 'pager' => '', 'personal_number' => '', + 'geographic' => '37\\d{5}', + 'toll_free' => '', + 'mobile' => '38\\d{5}', 'specialrate' => '' }; diff --git a/lib/Number/Phone/StubCountry/IQ.pm b/lib/Number/Phone/StubCountry/IQ.pm index d58003dc428be10c6c0001f1816b39a5411271af..779cbfac61642c8bf70dd37d360540d2bedc2364 100644 --- a/lib/Number/Phone/StubCountry/IQ.pm +++ b/lib/Number/Phone/StubCountry/IQ.pm @@ -22,26 +22,26 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '1', - 'pattern' => '(1)(\\d{3})(\\d{4})' + 'pattern' => '(1)(\\d{3})(\\d{4})', + 'leading_digits' => '1' }, { 'pattern' => '([2-6]\\d)(\\d{3})(\\d{3,4})', 'leading_digits' => '[2-6]' }, { - 'pattern' => '(7\\d{2})(\\d{3})(\\d{4})', - 'leading_digits' => '7' + 'leading_digits' => '7', + 'pattern' => '(7\\d{2})(\\d{3})(\\d{4})' } ]; my $validators = { 'mobile' => '7[3-9]\\d{8}', - 'toll_free' => '', + 'specialrate' => '', 'geographic' => ' 1\\d{7}| (?: @@ -52,6 +52,10 @@ my $validators = { 6[026] )\\d{6,7} ', + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' 1\\d{7}| (?: @@ -61,11 +65,7 @@ my $validators = { 5[03]| 6[026] )\\d{6,7} - ', - 'voip' => '', - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/IR.pm b/lib/Number/Phone/StubCountry/IR.pm index 06dc096df289aa6e29ada3540d9a16354fe5558f..3a8ec1dc984bff190835ed58bac0a5b3decdf06e 100644 --- a/lib/Number/Phone/StubCountry/IR.pm +++ b/lib/Number/Phone/StubCountry/IR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,16 +30,16 @@ my $formatters = [ 'pattern' => '(21)(\\d{3,5})' }, { - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'leading_digits' => '[1-8]' + 'leading_digits' => '[1-8]', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' }, { 'pattern' => '(\\d{3})(\\d{3})', 'leading_digits' => '9' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', - 'leading_digits' => '9' + 'leading_digits' => '9', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})' }, { 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', @@ -48,13 +48,15 @@ my $formatters = [ ]; my $validators = { - 'voip' => ' - (?: - [2-6]0\\d| - 993 + 'specialrate' => '(9990\\d{0,6})', + 'mobile' => ' + 9(?: + 0[1-3]| + [1-3]\\d| + 90 )\\d{7} ', - 'fixed_line' => ' + 'geographic' => ' (?: (?: 1[137]| @@ -72,7 +74,16 @@ my $validators = { ) )\\d{5} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '943\\d{7}', + 'voip' => ' + (?: + [2-6]0\\d| + 993 + )\\d{7} + ', + 'fixed_line' => ' (?: (?: 1[137]| @@ -89,18 +100,7 @@ my $validators = { 2\\d{2} ) )\\d{5} - ', - 'mobile' => ' - 9(?: - 0[1-3]| - [1-3]\\d| - 90 - )\\d{7} - ', - 'toll_free' => '', - 'personal_number' => '', - 'pager' => '943\\d{7}', - 'specialrate' => '(9990\\d{0,6})' + ' }; my %areanames = ( 9811 => "Mazandaran", diff --git a/lib/Number/Phone/StubCountry/IS.pm b/lib/Number/Phone/StubCountry/IS.pm index 2e78ec467af32d698c6ceba637d87db6f175a72e..b841303bd11d81ef7e98e47d90fc8228d69c25ce 100644 --- a/lib/Number/Phone/StubCountry/IS.pm +++ b/lib/Number/Phone/StubCountry/IS.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{4})', - 'leading_digits' => '[4-9]' + 'leading_digits' => '[4-9]', + 'pattern' => '(\\d{3})(\\d{4})' }, { 'leading_digits' => '3', @@ -36,39 +36,12 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(90\\d{5})|(809\\d{4})', - 'personal_number' => '', + 'voip' => '49\\d{5}', 'pager' => '', - 'toll_free' => '800\\d{4}', - 'mobile' => ' - 38[589]\\d{6}| - (?: - 6(?: - 1[1-8]| - 2[056]| - 3[089]| - 4[0167]| - 5[0159]| - [67][0-69]| - 9\\d - )| - 7(?: - 5[057]| - 6[0-2]| - [78]\\d - )| - 8(?: - 2[0-59]| - 3[0-4]| - [469]\\d| - 5[1-9] - ) - )\\d{4} - ', - 'geographic' => ' + 'fixed_line' => ' (?: 4(?: - 1[0-24-6]| + 1[0-24-69]| 2[0-7]| [37][0-8]| 4[0-245]| @@ -80,7 +53,7 @@ my $validators = { 05| [156]\\d| 2[02578]| - 3[013-79]| + 3[0-79]| 4[03-7]| 7[0-2578]| 8[0-35-9]| @@ -89,10 +62,38 @@ my $validators = { 87[23] )\\d{4} ', - 'fixed_line' => ' + 'mobile' => ' + 38[589]\\d{6}| + (?: + 6(?: + 1[1-8]| + 2[0-6]| + 3[027-9]| + 4[014679]| + 5[0159]| + [67][0-69]| + 9\\d + )| + 7(?: + 5[057]| + [6-8]\\d + )| + 8(?: + 2[0-59]| + 3[0-4]| + [469]\\d| + 5[1-9]| + 88 + ) + )\\d{4} + ', + 'specialrate' => '(90\\d{5})|(809\\d{4})', + 'toll_free' => '800\\d{4}', + 'personal_number' => '', + 'geographic' => ' (?: 4(?: - 1[0-24-6]| + 1[0-24-69]| 2[0-7]| [37][0-8]| 4[0-245]| @@ -104,7 +105,7 @@ my $validators = { 05| [156]\\d| 2[02578]| - 3[013-79]| + 3[0-79]| 4[03-7]| 7[0-2578]| 8[0-35-9]| @@ -112,8 +113,7 @@ my $validators = { )| 87[23] )\\d{4} - ', - 'voip' => '49\\d{5}' + ' }; my %areanames = ( 354421 => "Keflavík", diff --git a/lib/Number/Phone/StubCountry/IT.pm b/lib/Number/Phone/StubCountry/IT.pm index f3cc28c02f67382b099fdc7dd5c50239d79a26ac..9442473c3c39463fff27f8b3ff88477b88670061 100644 --- a/lib/Number/Phone/StubCountry/IT.pm +++ b/lib/Number/Phone/StubCountry/IT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -33,16 +33,16 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})' }, { - 'pattern' => '(0[26])(\\d{4})(\\d{5})', - 'leading_digits' => '0[26]' + 'leading_digits' => '0[26]', + 'pattern' => '(0[26])(\\d{4})(\\d{5})' }, { - 'leading_digits' => '0[26]', - 'pattern' => '(0[26])(\\d{4,6})' + 'pattern' => '(0[26])(\\d{4,6})', + 'leading_digits' => '0[26]' }, { - 'pattern' => '(0\\d{2})(\\d{3,4})(\\d{4})', - 'leading_digits' => '0[13-57-9][0159]' + 'leading_digits' => '0[13-57-9][0159]', + 'pattern' => '(0\\d{2})(\\d{3,4})(\\d{4})' }, { 'leading_digits' => ' @@ -59,15 +59,14 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{3,6})' }, { - 'pattern' => '(0\\d{3})(\\d{3})(\\d{4})', - 'leading_digits' => '0[13-57-9][2-46-8]' + 'leading_digits' => '0[13-57-9][2-46-8]', + 'pattern' => '(0\\d{3})(\\d{3})(\\d{4})' }, { 'leading_digits' => '0[13-57-9][2-46-8]', 'pattern' => '(0\\d{3})(\\d{2,6})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'leading_digits' => ' [13]| 8(?: @@ -78,15 +77,16 @@ my $formatters = [ 9 ) ) - ' + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})' }, { - 'leading_digits' => '894[5-9]', - 'pattern' => '(\\d{4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{4})', + 'leading_digits' => '894[5-9]' }, { - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'leading_digits' => '3' + 'leading_digits' => '3', + 'pattern' => '(\\d{3})(\\d{4})(\\d{4})' } ]; @@ -115,13 +115,6 @@ my $validators = { 9\\d{6} ) )', - 'pager' => '', - 'personal_number' => ' - 1(?: - 78\\d| - 99 - )\\d{6} - ', 'mobile' => ' 3(?: [12457-9]\\d{8}| @@ -135,8 +128,13 @@ my $validators = { 3\\d{3} ) ', - 'voip' => '55\\d{8}', - 'fixed_line' => ' + 'personal_number' => ' + 1(?: + 78\\d| + 99 + )\\d{6} + ', + 'geographic' => ' 0(?: [26]\\d{4,9}| (?: @@ -198,7 +196,9 @@ my $validators = { )\\d{2,7} ) ', - 'geographic' => ' + 'voip' => '55\\d{8}', + 'pager' => '', + 'fixed_line' => ' 0(?: [26]\\d{4,9}| (?: diff --git a/lib/Number/Phone/StubCountry/JE.pm b/lib/Number/Phone/StubCountry/JE.pm index a431aafdde9f455d68ae24cc48d4002499dae89a..2eea310daf019cf3b5ec467ac999add60cfe4304 100644 --- a/lib/Number/Phone/StubCountry/JE.pm +++ b/lib/Number/Phone/StubCountry/JE.pm @@ -22,24 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { 'leading_digits' => ' - 2| - 5[56]| 7(?: - 0| - 6(?: - [013-9]| - 2[0-35-9] - ) + [1-5789]| + 6242 ) ', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + 'pattern' => '(7\\d{3})(\\d{6})' }, { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'leading_digits' => ' + 2| + 5[56]| + 7[06] + ' + }, + { + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 1(?: 1| @@ -47,8 +51,7 @@ my $formatters = [ )| 3| 9[018] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + ' }, { 'leading_digits' => ' @@ -69,22 +72,13 @@ my $formatters = [ 'leading_digits' => '1', 'pattern' => '(1\\d{3})(\\d{5,6})' }, - { - 'leading_digits' => ' - 7(?: - [1-5789]| - 624 - ) - ', - 'pattern' => '(7\\d{3})(\\d{6})' - }, { 'pattern' => '(800)(\\d{4})', 'leading_digits' => '8001111' }, { - 'leading_digits' => '845464', - 'pattern' => '(845)(46)(4\\d)' + 'pattern' => '(845)(46)(4\\d)', + 'leading_digits' => '845464' }, { 'pattern' => '(8\\d{2})(\\d{3})(\\d{4})', @@ -96,8 +90,8 @@ my $formatters = [ ' }, { - 'pattern' => '(80\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(80\\d)(\\d{3})(\\d{4})' }, { 'leading_digits' => '[58]00', @@ -106,19 +100,6 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '701511\\d{4}', - 'pager' => ' - 76(?: - 0[012]| - 2[356]| - 4[0134]| - 5[49]| - 6[0-369]| - 77| - 81| - 9[39] - )\\d{6} - ', 'specialrate' => '( 8(?: 4(?: @@ -180,9 +161,17 @@ my $validators = { )\\d{4}| 55\\d{8} )', - 'voip' => '56\\d{8}', - 'geographic' => '1534\\d{6}', - 'fixed_line' => '1534\\d{6}', + 'mobile' => ' + 7(?: + 509\\d| + 7(?: + 00[378]| + 97[7-9] + )| + 829\\d| + 937\\d + )\\d{5} + ', 'toll_free' => ' 80(?: 07(?: @@ -192,17 +181,22 @@ my $validators = { 8901 )\\d{4} ', - 'mobile' => ' - 7(?: - 509| - 7(?: - 00| - 97 - )| - 829| - 937 + 'personal_number' => '701511\\d{4}', + 'geographic' => '1534\\d{6}', + 'voip' => '56\\d{8}', + 'pager' => ' + 76(?: + 0[012]| + 2[356]| + 4[0134]| + 5[49]| + 6[0-369]| + 77| + 81| + 9[39] )\\d{6} - ' + ', + 'fixed_line' => '1534\\d{6}' }; my %areanames = ( 44113 => "Leeds", diff --git a/lib/Number/Phone/StubCountry/JM.pm b/lib/Number/Phone/StubCountry/JM.pm index 325009478039e80a2f41f690d2542c625270e488..c87f5530d9ee4a53686c79f4babc68d9e2d22456 100644 --- a/lib/Number/Phone/StubCountry/JM.pm +++ b/lib/Number/Phone/StubCountry/JM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,6 +34,7 @@ my $formatters = [ ]; my $validators = { + 'pager' => '', 'voip' => '', 'fixed_line' => ' 876(?: @@ -67,6 +68,32 @@ my $validators = { 9[2-468] ) )\\d{4} + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 876(?: + 2(?: + [16-9]\\d| + 58 + )| + [348]\\d{2}| + 5(?: + 0[3-9]| + 2[0-246-9]| + 6[0-24-9]| + [3-578]\\d + )| + 7(?: + 0[07]| + 7\\d| + 8[1-47-9]| + 9[0-36-9] + )| + 9(?: + [01]9| + 9[0579] + ) + )\\d{4} ', 'geographic' => ' 876(?: @@ -101,54 +128,28 @@ my $validators = { ) )\\d{4} ', - 'mobile' => ' - 876(?: - 2(?: - [16-9]\\d| - 58 - )| - [348]\\d{2}| - 5(?: - 0[3-9]| - 2[0-246-9]| - 6[0-24-9]| - [3-578]\\d - )| - 7(?: - 0[07]| - 7\\d| - 8[1-47-9]| - 9[0-36-9] - )| - 9(?: - [01]9| - 9[0579] - ) - )\\d{4} - ', - 'toll_free' => ' - 8(?: + 'personal_number' => ' + 5(?: 00| + 22| + 33| 44| - 55| 66| 77| 88 )[2-9]\\d{6} ', - 'pager' => '', - 'personal_number' => ' - 5(?: + 'toll_free' => ' + 8(?: 00| - 22| 33| 44| + 55| 66| 77| 88 )[2-9]\\d{6} - ', - 'specialrate' => '(900[2-9]\\d{6})' + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/JO.pm b/lib/Number/Phone/StubCountry/JO.pm index 2d78f70399b6f0ba95a57c425db4d89816032778..0497fab743f4bcc9915162b1875fa0f0c1dce09e 100644 --- a/lib/Number/Phone/StubCountry/JO.pm +++ b/lib/Number/Phone/StubCountry/JO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -47,28 +47,13 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(85\\d{6})|(900\\d{5})|( - 8(?: - 10| - 8\\d - )\\d{5} - )', - 'personal_number' => '70\\d{7}', + 'voip' => '', 'pager' => ' 74(?: 66| 77 )\\d{5} ', - 'mobile' => ' - 7(?: - 55| - 7[025-9]| - 8[015-9]| - 9[0-25-9] - )\\d{6} - ', - 'toll_free' => '80\\d{6}', 'fixed_line' => ' (?: 2(?: @@ -144,6 +129,22 @@ my $validators = { ) )\\d{4} ', + 'specialrate' => '(85\\d{6})|(900\\d{5})|( + 8(?: + 10| + 8\\d + )\\d{5} + )', + 'mobile' => ' + 7(?: + 55| + 7[025-9]| + 8[0-25-9]| + 9[0-25-9] + )\\d{6} + ', + 'toll_free' => '80\\d{6}', + 'personal_number' => '70\\d{7}', 'geographic' => ' (?: 2(?: @@ -218,8 +219,7 @@ my $validators = { 90 ) )\\d{4} - ', - 'voip' => '' + ' }; my %areanames = ( 962266 => "Mafraq", diff --git a/lib/Number/Phone/StubCountry/JP.pm b/lib/Number/Phone/StubCountry/JP.pm index 3a0c2346136b17bc6f65611370197694d262428b..97ed97739c697714750eb551982b37fc7ff582b6 100644 --- a/lib/Number/Phone/StubCountry/JP.pm +++ b/lib/Number/Phone/StubCountry/JP.pm @@ -22,34 +22,34 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'leading_digits' => ' (?: 12| 57| 99 )0 - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' + ' }, { - 'leading_digits' => '800', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'leading_digits' => '800' }, { - 'leading_digits' => '0077', - 'pattern' => '(\\d{4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{4})', + 'leading_digits' => '0077' }, { 'pattern' => '(\\d{4})(\\d{2})(\\d{3,4})', 'leading_digits' => '0077' }, { - 'leading_digits' => '0088', - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', + 'leading_digits' => '0088' }, { 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', @@ -70,31 +70,32 @@ my $formatters = [ 'pattern' => '(\\d{4})(\\d{4})(\\d{4,5})' }, { + 'pattern' => '(\\d{4})(\\d{5})(\\d{5,6})', 'leading_digits' => ' 00(?: 37| 66 ) - ', - 'pattern' => '(\\d{4})(\\d{5})(\\d{5,6})' + ' }, { + 'pattern' => '(\\d{4})(\\d{6})(\\d{6,7})', 'leading_digits' => ' 00(?: 37| 66 ) - ', - 'pattern' => '(\\d{4})(\\d{6})(\\d{6,7})' + ' }, { + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'leading_digits' => ' [2579]0| 80[1-9] - ', - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})' + ' }, { + 'pattern' => '(\\d{4})(\\d)(\\d{4})', 'leading_digits' => ' 1(?: 267| @@ -141,8 +142,7 @@ my $formatters = [ 69 ) ) - ', - 'pattern' => '(\\d{4})(\\d)(\\d{4})' + ' }, { 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', @@ -337,7 +337,6 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'leading_digits' => ' 2(?: 9[14-79]| @@ -347,7 +346,8 @@ my $formatters = [ )| 82| 993 - ' + ', + 'pattern' => '(\\d{3})(\\d{2})(\\d{4})' }, { 'pattern' => '(\\d)(\\d{4})(\\d{4})', @@ -367,7 +367,9 @@ my $formatters = [ ]; my $validators = { - 'voip' => '50[1-9]\\d{7}', + 'specialrate' => '(990\\d{6})|(570\\d{6})', + 'mobile' => '[7-9]0[1-9]\\d{7}', + 'personal_number' => '60\\d{7}', 'geographic' => ' (?: 1(?: @@ -410,6 +412,22 @@ my $validators = { ) )\\d{6} ', + 'toll_free' => ' + 120\\d{6}| + 800\\d{7}| + 00(?: + 37\\d{6,13}| + 66\\d{6,13}| + 777(?: + [01]\\d{2}| + 5\\d{3}| + 8\\d{4} + )| + 882[1245]\\d{4} + ) + ', + 'voip' => '50[1-9]\\d{7}', + 'pager' => '20\\d{8}', 'fixed_line' => ' (?: 1(?: @@ -451,25 +469,7 @@ my $validators = { [2-58]\\d ) )\\d{6} - ', - 'toll_free' => ' - 120\\d{6}| - 800\\d{7}| - 00(?: - 37\\d{6,13}| - 66\\d{6,13}| - 777(?: - [01]\\d{2}| - 5\\d{3}| - 8\\d{4} - )| - 882[1245]\\d{4} - ) - ', - 'mobile' => '[7-9]0[1-9]\\d{7}', - 'pager' => '20\\d{8}', - 'personal_number' => '60\\d{7}', - 'specialrate' => '(990\\d{6})|(570\\d{6})' + ' }; my %areanames = ( 8111 => "Sapporo\,\ Hokkaido", diff --git a/lib/Number/Phone/StubCountry/KE.pm b/lib/Number/Phone/StubCountry/KE.pm index 6460ab2bca98d26daeeb37e049e909391495455a..20a4ac0e8a148f5e452897c451a4639a99b2a602 100644 --- a/lib/Number/Phone/StubCountry/KE.pm +++ b/lib/Number/Phone/StubCountry/KE.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,34 +30,30 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{5,7})' }, { - 'pattern' => '(\\d{3})(\\d{6})', - 'leading_digits' => '7' + 'leading_digits' => '7', + 'pattern' => '(\\d{3})(\\d{6})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'leading_digits' => '[89]' + 'leading_digits' => '[89]', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})' } ]; my $validators = { - 'specialrate' => '(900[02-9]\\d{5})', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '800[24-8]\\d{5,6}', 'mobile' => ' 7(?: - [0-369]\\d| - 4[0-2]| + [0-3679]\\d| + 4[0-2479]| 5[0-6]| - 7[0-7]| 8[0-25-9] )\\d{6} ', - 'voip' => '', + 'specialrate' => '(900[02-9]\\d{5})', 'geographic' => ' 20\\d{6,7}| 4(?: - [0136]\\d{7}| + 0\\d{6,7}| + [136]\\d{7}| [245]\\d{5,7} )| 5(?: @@ -66,13 +62,19 @@ my $validators = { )| 6(?: [01457-9]\\d{5,7}| - [26]\\d{7} + 2\\d{7}| + 6\\d{6,7} ) ', + 'personal_number' => '', + 'toll_free' => '800[24-8]\\d{5,6}', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' 20\\d{6,7}| 4(?: - [0136]\\d{7}| + 0\\d{6,7}| + [136]\\d{7}| [245]\\d{5,7} )| 5(?: @@ -81,7 +83,8 @@ my $validators = { )| 6(?: [01457-9]\\d{5,7}| - [26]\\d{7} + 2\\d{7}| + 6\\d{6,7} ) ' }; @@ -100,7 +103,7 @@ my %areanames = ( 25453 => "Eldoret\/Turbo\/Kapsabet\/Iten\/Kabarnet", 25454 => "Kitale\/Moi\'s\ Bridge\/Kapenguria\/Lodwar", 25455 => "Bungoma\/Busia", - 25456 => "Kakamega\/Mbale\/Butere\/Mumias", + 25456 => "Kakamega\/Mbale\/Butere\/Mumias\/Vihiga", 25457 => "Kisumu\/Siaya\/Maseno", 25458 => "Kisii\/Kilgoris\/Oyugis\/Nyamira", 25459 => "Homabay\/Migori", @@ -109,8 +112,8 @@ my %areanames = ( 25462 => "Nanyuki", 25464 => "Meru\/Maua\/Chuka", 25465 => "Nyahururu\/Maralal", - 25466 => "Kiambu\/Kikuyu", - 25467 => "Thika\/Ruiru", + 25466 => "Thika\/Ruiru", + 25467 => "Kiambu\/Kikuyu", 25468 => "Embu", 25469 => "Marsabit\/Moyale", ); diff --git a/lib/Number/Phone/StubCountry/KG.pm b/lib/Number/Phone/StubCountry/KG.pm index efd1f6b36980d15bd79dd15cb6c9683c048f532f..0a205e1f6e586a12a79035862b6366ce4e85b2d0 100644 --- a/lib/Number/Phone/StubCountry/KG.pm +++ b/lib/Number/Phone/StubCountry/KG.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -33,25 +33,29 @@ my $formatters = [ ' }, { + 'pattern' => '(\\d{4})(\\d{5})', 'leading_digits' => ' 3(?: 1[36]| [2-9] ) - ', - 'pattern' => '(\\d{4})(\\d{5})' + ' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d)(\\d{3})', - 'leading_digits' => '8' + 'leading_digits' => '8', + 'pattern' => '(\\d{3})(\\d{3})(\\d)(\\d{3})' } ]; my $validators = { - 'personal_number' => '', - 'pager' => '', 'specialrate' => '', - 'voip' => '', + 'mobile' => ' + (?: + 20[0-35]| + 5[124-7]\\d| + 7[07]\\d + )\\d{6} + ', 'geographic' => ' (?: 3(?: @@ -101,6 +105,10 @@ my $validators = { )\\d )\\d{5} ', + 'personal_number' => '', + 'toll_free' => '800\\d{6,7}', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 3(?: @@ -149,15 +157,7 @@ my $validators = { 2[2-4] )\\d )\\d{5} - ', - 'mobile' => ' - (?: - 20[0-35]| - 5[124-7]\\d| - 7[07]\\d - )\\d{6} - ', - 'toll_free' => '800\\d{6,7}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/KH.pm b/lib/Number/Phone/StubCountry/KH.pm index ff34750a432f843cff43673db0daf7bd01906895..e3476b08904d0fd7801a9f752b11d7cfb1e09579 100644 --- a/lib/Number/Phone/StubCountry/KH.pm +++ b/lib/Number/Phone/StubCountry/KH.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -39,46 +39,6 @@ my $formatters = [ ]; my $validators = { - 'mobile' => ' - (?: - 1(?: - [013-79]\\d| - [28]\\d{1,2} - )| - 2[3-6]48| - 3(?: - [18]\\d{2}| - [2-6]48 - )| - 4[2-4]48| - 5[2-5]48| - 6(?: - [016-9]\\d| - [2-5]48 - )| - 7(?: - [07-9]\\d| - [16]\\d{2}| - [2-5]48 - )| - 8(?: - [013-79]\\d| - 8\\d{2} - )| - 9(?: - 6\\d{2}| - 7\\d{1,2}| - [0-589]\\d - ) - )\\d{5} - ', - 'toll_free' => ' - 1800(?: - 1\\d| - 2[019] - )\\d{4} - ', - 'voip' => '', 'fixed_line' => ' (?: 2[3-6]| @@ -96,6 +56,15 @@ my $validators = { 8\\d{2} )\\d{4} ', + 'voip' => '', + 'pager' => '', + 'toll_free' => ' + 1800(?: + 1\\d| + 2[019] + )\\d{4} + ', + 'personal_number' => '', 'geographic' => ' (?: 2[3-6]| @@ -112,15 +81,46 @@ my $validators = { 4[234]| 8\\d{2} )\\d{4} + ', + 'mobile' => ' + (?: + 1(?: + [013-79]\\d| + [28]\\d{1,2} + )| + 2[3-6]48| + 3(?: + [18]\\d{2}| + [2-6]48 + )| + 4[2-4]48| + 5[2-5]48| + 6(?: + [016-9]\\d| + [2-5]48 + )| + 7(?: + [07-9]\\d| + [16]\\d{2}| + [2-5]48 + )| + 8(?: + [013-79]\\d| + 8\\d{2} + )| + 9(?: + 6\\d{2}| + 7\\d{1,2}| + [0-589]\\d + ) + )\\d{5} ', 'specialrate' => '( 1900(?: 1\\d| 2[09] )\\d{4} - )', - 'pager' => '', - 'personal_number' => '' + )' }; sub new { diff --git a/lib/Number/Phone/StubCountry/KI.pm b/lib/Number/Phone/StubCountry/KI.pm index 41bd3cbe4abba2579ce4d93bf0ef5430cccc8440..8145d1d7a41d4a46acdb665807545956bf208386 100644 --- a/lib/Number/Phone/StubCountry/KI.pm +++ b/lib/Number/Phone/StubCountry/KI.pm @@ -22,33 +22,51 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'voip' => '', + 'pager' => '', + 'voip' => ' + 30(?: + 0[01]\\d{2}| + 12(?: + 11| + 20 + ) + )\\d{2} + ', 'fixed_line' => ' (?: [24]\\d| 3[1-9]| 50| 8[0-5] - )\\d{3} + )\\d{3}| + 7(?: + 27| + 31| + 5[0-4] + )\\d{5} ', + 'specialrate' => '', + 'mobile' => '7[23]0\\d{5}', 'geographic' => ' (?: [24]\\d| 3[1-9]| 50| 8[0-5] - )\\d{3} + )\\d{3}| + 7(?: + 27| + 31| + 5[0-4] + )\\d{5} ', - 'toll_free' => '', - 'mobile' => '7\\d{7}', - 'pager' => '', 'personal_number' => '', - 'specialrate' => '(3001\\d{4})' + 'toll_free' => '' }; my %areanames = ( 68621 => "Bairiki", @@ -80,6 +98,12 @@ my %areanames = ( 68647 => "Nikunau", 68648 => "Tamana", 68649 => "Arorae", + 686727 => "Gilbert\ Islands", + 686750 => "South\ Tarawa", + 686751 => "South\ Tarawa", + 686752 => "South\ Tarawa", + 686753 => "Line\ Islands", + 686754 => "Phoenix\ Islands", 68681 => "Kiritimati", 68682 => "Kiritimati", 68683 => "Fanning", diff --git a/lib/Number/Phone/StubCountry/KM.pm b/lib/Number/Phone/StubCountry/KM.pm index 010b930992ac913f2c7c6929ddbe0e82311e0b48..0418e9ad63767eac04646cd4cc820fa85e0de593 100644 --- a/lib/Number/Phone/StubCountry/KM.pm +++ b/lib/Number/Phone/StubCountry/KM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,28 +31,18 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '3[234]\\d{5}', + 'personal_number' => '', + 'geographic' => '7[4-7]\\d{5}', 'toll_free' => '', - 'voip' => '', - 'fixed_line' => ' - 7(?: - 6[0-37-9]| - 7[0-57-9] - )\\d{4} - ', - 'geographic' => ' - 7(?: - 6[0-37-9]| - 7[0-57-9] - )\\d{4} - ', + 'mobile' => '[34]\\d{6}', 'specialrate' => '( (?: 39[01]| - 9[01]0 + 8\\d{2} )\\d{4} )', - 'personal_number' => '', + 'fixed_line' => '7[4-7]\\d{5}', + 'voip' => '', 'pager' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/KN.pm b/lib/Number/Phone/StubCountry/KN.pm index d22696a258f720e18a048f877c61abb6a98f4418..ac73f7f79204d2dcddb2abca81c6b5625ac5096e 100644 --- a/lib/Number/Phone/StubCountry/KN.pm +++ b/lib/Number/Phone/StubCountry/KN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,7 +34,21 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(900[2-9]\\d{6})', + 'fixed_line' => ' + 869(?: + 2(?: + 29| + 36 + )| + 302| + 4(?: + 6[015-9]| + 70 + ) + )\\d{4} + ', + 'voip' => '', + 'pager' => '', 'personal_number' => ' 5(?: 00| @@ -46,20 +60,23 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', - 'mobile' => ' + 'geographic' => ' 869(?: - 5(?: - 5[6-8]| - 6[5-7] + 2(?: + 29| + 36 )| - 66\\d| - 76[02-7] + 302| + 4(?: + 6[015-9]| + 70 + ) )\\d{4} ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| @@ -67,33 +84,17 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'geographic' => ' - 869(?: - 2(?: - 29| - 36 - )| - 302| - 4(?: - 6[015-9]| - 70 - ) - )\\d{4} - ', - 'fixed_line' => ' + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' 869(?: - 2(?: - 29| - 36 + 5(?: + 5[6-8]| + 6[5-7] )| - 302| - 4(?: - 6[015-9]| - 70 - ) + 66\\d| + 76[02-7] )\\d{4} - ', - 'voip' => '' + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/KP.pm b/lib/Number/Phone/StubCountry/KP.pm index 3fd49d3687e3d0760989bcd090258cc6c928a7ed..289b8836351eef4e2b4a5f5ed3cc82e4e67b41e3 100644 --- a/lib/Number/Phone/StubCountry/KP.pm +++ b/lib/Number/Phone/StubCountry/KP.pm @@ -22,16 +22,16 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '1', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'leading_digits' => '1' }, { - 'pattern' => '(\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(\\d)(\\d{3})(\\d{4})' }, { 'leading_digits' => '8', @@ -41,19 +41,19 @@ my $formatters = [ my $validators = { 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' 2\\d{7}| 85\\d{6} ', - 'fixed_line' => ' + 'mobile' => '19[123]\\d{7}', + 'specialrate' => '', + 'toll_free' => '', + 'geographic' => ' 2\\d{7}| 85\\d{6} ', - 'mobile' => '19[123]\\d{7}', - 'toll_free' => '' + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/KR.pm b/lib/Number/Phone/StubCountry/KR.pm index f730dacd5ccfa3ba849cd5c0c1d0f55a45ef7175..2079d330f06893df77d695bfb253530ca2e565b8 100644 --- a/lib/Number/Phone/StubCountry/KR.pm +++ b/lib/Number/Phone/StubCountry/KR.pm @@ -22,16 +22,16 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '00798', - 'pattern' => '(\\d{5})(\\d{3,4})(\\d{4})' + 'pattern' => '(\\d{5})(\\d{3,4})(\\d{4})', + 'leading_digits' => '00798' }, { - 'pattern' => '(\\d{5})(\\d{2})(\\d{3})(\\d{4})', - 'leading_digits' => '00798' + 'leading_digits' => '00798', + 'pattern' => '(\\d{5})(\\d{2})(\\d{3})(\\d{4})' }, { 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', @@ -50,6 +50,7 @@ my $formatters = [ ' }, { + 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', 'leading_digits' => ' 1(?: [01]| @@ -62,28 +63,27 @@ my $formatters = [ )| [68]0| [3-6][1-9][1-9] - ', - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})' + ' }, { - 'pattern' => '(\\d{3})(\\d)(\\d{4})', - 'leading_digits' => '1312' + 'leading_digits' => '1312', + 'pattern' => '(\\d{3})(\\d)(\\d{4})' }, { 'leading_digits' => '131[13-9]', 'pattern' => '(\\d{3})(\\d{2})(\\d{4})' }, { - 'leading_digits' => '13[2-9]', - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'leading_digits' => '13[2-9]' }, { - 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{4})', - 'leading_digits' => '30' + 'leading_digits' => '30', + 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{4})' }, { - 'leading_digits' => '2[1-9]', - 'pattern' => '(\\d)(\\d{3,4})(\\d{4})' + 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', + 'leading_digits' => '2[1-9]' }, { 'pattern' => '(\\d)(\\d{3,4})', @@ -102,6 +102,7 @@ my $formatters = [ 'leading_digits' => ' 1(?: 5(?: + 22| 44| 66| 77| @@ -134,7 +135,7 @@ my $validators = { 80 )\\d{7} ', - 'mobile' => '1[0-26-9]\\d{7,8}', + 'personal_number' => '50\\d{8}', 'geographic' => ' (?: 2| @@ -146,21 +147,10 @@ my $validators = { [1-9]\\d{6,7} ) ', - 'fixed_line' => ' - (?: - 2| - 3[1-3]| - [46][1-4]| - 5[1-5] - )(?: - 1\\d{2,3}| - [1-9]\\d{6,7} - ) - ', - 'voip' => '70\\d{8}', 'specialrate' => '(60[2-9]\\d{6})|( 1(?: 5(?: + 22| 44| 66| 77| @@ -183,8 +173,20 @@ my $validators = { ) )\\d{4} )', - 'pager' => '15\\d{7,8}', - 'personal_number' => '50\\d{8}' + 'mobile' => '1[0-26-9]\\d{7,8}', + 'fixed_line' => ' + (?: + 2| + 3[1-3]| + [46][1-4]| + 5[1-5] + )(?: + 1\\d{2,3}| + [1-9]\\d{6,7} + ) + ', + 'voip' => '70\\d{8}', + 'pager' => '15\\d{7,8}' }; my %areanames = ( 822 => "Seoul", diff --git a/lib/Number/Phone/StubCountry/KW.pm b/lib/Number/Phone/StubCountry/KW.pm index 891566d5316909726f230a40291baebc386b5a88..fa7c21e55894e8aa36df2c60018b4e2e53ed7bf0 100644 --- a/lib/Number/Phone/StubCountry/KW.pm +++ b/lib/Number/Phone/StubCountry/KW.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{4})(\\d{3,4})', 'leading_digits' => ' [16]| 2(?: @@ -35,7 +34,8 @@ my $formatters = [ )| 9[024-9]| 52[25] - ' + ', + 'pattern' => '(\\d{4})(\\d{3,4})' }, { 'pattern' => '(\\d{3})(\\d{5})', @@ -50,7 +50,7 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' (?: 5(?: @@ -81,7 +81,8 @@ my $validators = { ) )\\d{4} ', - 'fixed_line' => ' + 'personal_number' => '', + 'geographic' => ' (?: 18\\d| 2(?: @@ -99,7 +100,10 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'toll_free' => '', + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' (?: 18\\d| 2(?: @@ -116,11 +120,7 @@ my $validators = { ) ) )\\d{4} - ', - 'voip' => '', - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/KY.pm b/lib/Number/Phone/StubCountry/KY.pm index 75aa14bfca483b8011fe3bd2fc1bcba926918da3..9ab364d4e44ba34cbf62bcbbd0defd74c87d5a00 100644 --- a/lib/Number/Phone/StubCountry/KY.pm +++ b/lib/Number/Phone/StubCountry/KY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,6 +34,8 @@ my $formatters = [ ]; my $validators = { + 'pager' => '345849\\d{4}', + 'voip' => '', 'fixed_line' => ' 345(?: 2(?: @@ -62,6 +64,37 @@ my $validators = { 4[035-9] ) )\\d{4} + ', + 'specialrate' => '( + 900[2-9]\\d{6}| + 345976\\d{4} + )', + 'mobile' => ' + 345(?: + 32[1-9]| + 5(?: + 1[67]| + 2[5-7]| + 4[6-8]| + 76 + )| + 9(?: + 1[67]| + 2[2-9]| + 3[689] + ) + )\\d{4} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} ', 'geographic' => ' 345(?: @@ -91,33 +124,6 @@ my $validators = { 4[035-9] ) )\\d{4} - ', - 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'mobile' => ' - 345(?: - 32[1-9]| - 5(?: - 1[67]| - 2[5-7]| - 4[6-8]| - 76 - )| - 9(?: - 1[67]| - 2[2-9]| - 3[689] - ) - )\\d{4} ', 'personal_number' => ' 5(?: @@ -129,12 +135,7 @@ my $validators = { 77| 88 )[2-9]\\d{6} - ', - 'pager' => '345849\\d{4}', - 'specialrate' => '( - 900[2-9]\\d{6}| - 345976\\d{4} - )' + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/KZ.pm b/lib/Number/Phone/StubCountry/KZ.pm index 42122d706cb8c4a237460589be5f45f7ec2f8b52..17b881737d068ebfc861c2ba8bde66a8c291bd88 100644 --- a/lib/Number/Phone/StubCountry/KZ.pm +++ b/lib/Number/Phone/StubCountry/KZ.pm @@ -22,22 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(809\\d{7})', 'voip' => '751\\d{7}', + 'pager' => '', 'fixed_line' => ' 33622\\d{5}| 7(?: 1(?: 0(?: [23]\\d| - 4[023]| + 4[0-3]| 59| 63 )| @@ -52,20 +50,19 @@ my $validators = { )| 3(?: 2\\d| - 3[1-79]| + 3[0-79]| 4[0-35-9]| 59 )| 4(?: - 2\\d| - 3[013-79]| - 4[0-8]| - 5[1-79] + [24]\\d| + 3[013-9]| + 5[1-9] )| 5(?: 2\\d| - 3[1-8]| - 4[1-7]| + 3[1-9]| + 4[0-7]| 59 )| 6(?: @@ -131,13 +128,25 @@ my $validators = { ) )\\d{5} ', + 'mobile' => ' + 7(?: + 0[012578]| + 47| + 6[02-4]| + 7[15-8]| + 85 + )\\d{7} + ', + 'specialrate' => '(809\\d{7})', + 'toll_free' => '800\\d{7}', + 'personal_number' => '', 'geographic' => ' 33622\\d{5}| 7(?: 1(?: 0(?: [23]\\d| - 4[023]| + 4[0-3]| 59| 63 )| @@ -152,20 +161,19 @@ my $validators = { )| 3(?: 2\\d| - 3[1-79]| + 3[0-79]| 4[0-35-9]| 59 )| 4(?: - 2\\d| - 3[013-79]| - 4[0-8]| - 5[1-79] + [24]\\d| + 3[013-9]| + 5[1-9] )| 5(?: 2\\d| - 3[1-8]| - 4[1-7]| + 3[1-9]| + 4[0-7]| 59 )| 6(?: @@ -230,22 +238,12 @@ my $validators = { ) ) )\\d{5} - ', - 'mobile' => ' - 7(?: - 0[012578]| - 47| - 6[02-4]| - 7[15-8]| - 85 - )\\d{7} - ', - 'toll_free' => '800\\d{7}' + ' }; my %areanames = ( 7301 => "Republic\ of\ Buryatia", 7302 => "Chita", - 7336 => "Baikonur", + 733622 => "Baikonur", 7341 => "Udmurtian\ Republic", 7342 => "Perm", 7343 => "Ekaterinburg", @@ -306,6 +304,7 @@ my %areanames = ( 771038 => "Shashubai", 771039 => "Priozersk", 771040 => "Zhairem\ \(GOK\)", + 771041 => "Aktau\,\ Zhezkazgan", 771042 => "Zharyk", 771043 => "Zhairem", 771063 => "Satpaev", @@ -325,7 +324,11 @@ my %areanames = ( 771142 => "Taipak", 771143 => "Akzhaik", 771144 => "Kaztalovka", - 771145 => "Karatobe", + 771145 => "Karatobe\ District", + 771146 => "Akzhaiksky\ District", + 771147 => "Akzhaiksky\ District", + 771149 => "Zelenovsky\ District", + 7712 => "Atyrau\ Region", 77122 => "Atyrau", 7712302 => "Tengizshevroil", 7712303 => "Tengizs", @@ -337,7 +340,9 @@ my %areanames = ( 771237 => "Kulsary", 771238 => "Miyaly", 771239 => "Makat", + 7713 => "Aktobe\ Region", 77132 => "Aktobe\/Kargalinskoye", + 771330 => "Khromtau\ District", 771331 => "Martuk", 771332 => "Uil", 771333 => "Kandyagash", @@ -346,11 +351,16 @@ my %areanames = ( 771336 => "Khromtau", 771337 => "Alga", 771339 => "Komsomolskoye", + 771340 => "Khobdinsky\ District", 771341 => "Khobda", 771342 => "Badamsha", 771343 => "Irgiz", 771345 => "Karauylkeldy", 771346 => "Shubarkuduk", + 771347 => "Aitekebisky\ District", + 771348 => "Shalkarsky\ District", + 771349 => "Shalkarsky\ District", + 7714 => "Kostanai\ Region", 77142 => "Kostanai", 771430 => "Arkalyk", 771431 => "Rudny", @@ -359,6 +369,7 @@ my %areanames = ( 771435 => "Zhitikara", 771436 => "Taranovskoye", 771437 => "Kamysty", + 771438 => "Amangeldy", 771439 => "Torgai", 771440 => "Amangeldy", 771441 => "Karabalyk", @@ -366,13 +377,18 @@ my %areanames = ( 771443 => "Borovskoi", 771444 => "Uzunkol", 771445 => "Ubaganskoye", + 771446 => "Uzunkolsky\ District", + 771447 => "Karabalyksky\ District", 771448 => "Oktyabrskoye", + 771449 => "Taranovskoye", 771451 => "Sarykol", 771452 => "Karasu", 771453 => "Auliekol", 771454 => "Karamendy", 771455 => "Zatobolsk", 771456 => "Kachar", + 771457 => "Dzhangildinsky\ District", + 77145834 => "Krasnogorsk", 77152 => "Petropavlovsk", 771531 => "Bulayevo", 771532 => "Smirnovo", @@ -382,11 +398,15 @@ my %areanames = ( 771536 => "Taiynsha", 771537 => "Timiryazevo", 771538 => "Beskol", + 771539 => "Beskol", + 771540 => "Kishkenekol", 771541 => "Mamlutka", 771542 => "Kishkenekol", 771543 => "Yavlenka", 771544 => "Presnovka", + 771545 => "Zhambylsky\ District", 771546 => "Talshik", + 771547 => "Zhambylsky\ District", 77162 => "Kokshetau\/Krasni\ Yar", 771630 => "Burabay", 771631 => "Shortandy", @@ -406,8 +426,10 @@ my %areanames = ( 771646 => "Makinsk", 771647 => "Esil", 771648 => "Derzhavinsk", + 771649 => "Zhaksynsky\ District", 771651 => "Kabanbai\ Batyr", 77172 => "Astana", + 7718 => "Pavlodar\ Region", 77182 => "Pavlodar", 771831 => "Zhelezinka", 771832 => "Irtyshsk", @@ -419,11 +441,16 @@ my %areanames = ( 771839 => "Akku", 771840 => "Bayanaul", 771841 => "Aktogai", - 771845 => "Pavlodar\ area", + 771842 => "Aktogaisky\ District", + 771843 => "Maisky\ District", + 771844 => "Irtyshsky\ District", + 771845 => "Pavlodar\ Area", 77187 => "Ekibastuz", + 7721 => "Karaganda\ Region", 77212 => "Karaganda", 77213 => "Aktau\/Temirtau", 772131 => "Abai", + 772132 => "Nurinsky\ District", 772137 => "Saran", 772138 => "Gabidena\ Mustafina", 772144 => "Kiyevka", @@ -445,6 +472,7 @@ my %areanames = ( 772256 => "Kainar", 772257 => "Shulbinsk", 77232 => "Ust\-Kamenogorsk", + 772330 => "Zyryanovsky\ District", 772331 => "Glubokoye", 772332 => "Shemonaikha", 772333 => "Samarskoye", @@ -465,6 +493,7 @@ my %areanames = ( 772348 => "Kokpekty", 772351 => "Borodulikha", 772353 => "Novaya\ Shulba", + 7724 => "Kyzylorda\ Region", 77242 => "Kyzylorda", 772431 => "Zhalagash", 772432 => "Shiyeli", @@ -473,6 +502,7 @@ my %areanames = ( 772436 => "Terenozek", 772437 => "Zhosaly", 772438 => "Aiteke\ bi", + 772439 => "Aralsky\ District", 77252 => "Shymkent", 772530 => "Temirlanovka", 772531 => "Aksukent", @@ -501,15 +531,18 @@ my %areanames = ( 772637 => "Sarykemer", 772638 => "Tole\ bi", 772639 => "Saudakent", + 772640 => "Moiynkumsky\ District", 772641 => "Akkol", 772642 => "Moiynkum", 772643 => "Shu", 772644 => "Karatau", + 7727 => "Almaty\ Region", 77272 => "Almaty", 772725 => "Otegen\ Batyra", 77272956 => "Talgar", 77272983 => "Kaskelen", 77273 => "Almaty", + 772740 => "Karassaisky\ District", 772752 => "Otegen\ Batyra", 772757 => "Akshi", 772770 => "Uzynagash", @@ -524,6 +557,7 @@ my %areanames = ( 772779 => "Narynkol", 77279 => "Almaty", 77282 => "Taldykorgan", + 772830 => "Alakolsky\ District", 772831 => "Zharkent", 772832 => "Zhansugurov", 772833 => "Usharal", diff --git a/lib/Number/Phone/StubCountry/LA.pm b/lib/Number/Phone/StubCountry/LA.pm index 7c35f66ea536dd6d96625684db52d35e5ffb0742..3f09699522d7fac7407a4f358c5d9f94d248fd77 100644 --- a/lib/Number/Phone/StubCountry/LA.pm +++ b/lib/Number/Phone/StubCountry/LA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -44,9 +44,7 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', + 'toll_free' => '', 'geographic' => ' (?: 2[13]| @@ -59,6 +57,16 @@ my $validators = { 8[1468] )\\d{6} ', + 'personal_number' => '', + 'mobile' => ' + 20(?: + 2[2389]| + 5[4-689]| + 7[6-8]| + 9[15-9] + )\\d{6} + ', + 'specialrate' => '', 'fixed_line' => ' (?: 2[13]| @@ -71,16 +79,8 @@ my $validators = { 8[1468] )\\d{6} ', - 'voip' => '', - 'mobile' => ' - 20(?: - 2[2389]| - 5[4-689]| - 7[6-8]| - 9[15-9] - )\\d{6} - ', - 'toll_free' => '' + 'pager' => '', + 'voip' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/LB.pm b/lib/Number/Phone/StubCountry/LB.pm index dc67f479b39c14a06bb834f088ba3b2ed7c6f6be..6dc68a255e578349338d0c49b7d050b343500f3a 100644 --- a/lib/Number/Phone/StubCountry/LB.pm +++ b/lib/Number/Phone/StubCountry/LB.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d)(\\d{3})(\\d{3})', 'leading_digits' => ' [13-6]| 7(?: @@ -37,7 +36,8 @@ my $formatters = [ )| 8[02-9]| 9 - ' + ', + 'pattern' => '(\\d)(\\d{3})(\\d{3})' }, { 'leading_digits' => ' @@ -54,7 +54,6 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', 'fixed_line' => ' (?: [14-6]\\d{2}| @@ -68,6 +67,9 @@ my $validators = { 9\\d{2} )\\d{4} ', + 'pager' => '', + 'voip' => '', + 'toll_free' => '', 'geographic' => ' (?: [14-6]\\d{2}| @@ -81,7 +83,8 @@ my $validators = { 9\\d{2} )\\d{4} ', - 'toll_free' => '', + 'personal_number' => '', + 'specialrate' => '(80\\d{6})|(9[01]\\d{6})', 'mobile' => ' (?: 3\\d| @@ -93,10 +96,7 @@ my $validators = { )| 81\\d )\\d{5} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(80\\d{6})|(9[01]\\d{6})' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/LC.pm b/lib/Number/Phone/StubCountry/LC.pm index 2a9cc0954664d696c3ba283a2a6cfe5f79e43131..eb08ff4fdf7ca0013902dc7e264b7275581765db 100644 --- a/lib/Number/Phone/StubCountry/LC.pm +++ b/lib/Number/Phone/StubCountry/LC.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,41 +34,7 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'geographic' => ' - 758(?: - 4(?: - 30| - 5[0-9]| - 6[2-9]| - 8[0-2] - )| - 57[0-2]| - 638 - )\\d{4} - ', - 'fixed_line' => ' - 758(?: - 4(?: - 30| - 5[0-9]| - 6[2-9]| - 8[0-2] - )| - 57[0-2]| - 638 - )\\d{4} - ', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', + 'specialrate' => '(900[2-9]\\d{6})', 'mobile' => ' 758(?: 28[4-7]| @@ -99,8 +65,43 @@ my $validators = { 88 )[2-9]\\d{6} ', + 'geographic' => ' + 758(?: + 4(?: + 30| + 5[0-9]| + 6[2-9]| + 8[0-2] + )| + 57[0-2]| + 638 + )\\d{4} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'voip' => '', 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})' + 'fixed_line' => ' + 758(?: + 4(?: + 30| + 5[0-9]| + 6[2-9]| + 8[0-2] + )| + 57[0-2]| + 638 + )\\d{4} + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/LI.pm b/lib/Number/Phone/StubCountry/LI.pm index 2e024bca526758a595f31daf43f3de2f87ba1303..cd48996972d6f0adec14e696ba0385a37e7d4414 100644 --- a/lib/Number/Phone/StubCountry/LI.pm +++ b/lib/Number/Phone/StubCountry/LI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201832; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,12 +34,32 @@ my $formatters = [ 'leading_digits' => '6[56]' }, { - 'leading_digits' => '697', - 'pattern' => '(69)(7\\d{2})(\\d{4})' + 'pattern' => '(69)(7\\d{2})(\\d{4})', + 'leading_digits' => '697' } ]; my $validators = { + 'mobile' => ' + 6(?: + 5(?: + 09| + 1\\d| + 20 + )| + 6(?: + 0[0-6]| + 10| + 2[06-9]| + 39 + ) + )\\d{5}| + 7(?: + [37-9]\\d| + 42| + 56 + )\\d{4} + ', 'specialrate' => '( 90(?: 02[258]| @@ -55,30 +75,13 @@ my $validators = { 87 )\\d{2} )', - 'pager' => '', - 'personal_number' => '', 'toll_free' => ' 80(?: 02[28]| 9\\d{2} )\\d{2} ', - 'mobile' => ' - 6(?: - 51[01]| - 6(?: - 0[0-6]| - 2[016-9]| - 39 - ) - )\\d{5}| - 7(?: - [37-9]\\d| - 42| - 56 - )\\d{4} - ', - 'fixed_line' => ' + 'geographic' => ' (?: 2(?: 01| @@ -94,7 +97,10 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' (?: 2(?: 01| @@ -109,8 +115,7 @@ my $validators = { 9[0269] ) )\\d{4} - ', - 'voip' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/LK.pm b/lib/Number/Phone/StubCountry/LK.pm index 05aa1c69b174d6762b7f0d422a5ee8e2f56cb32d..91f2336920553825a794e0c187b6edb1c8d201fc 100644 --- a/lib/Number/Phone/StubCountry/LK.pm +++ b/lib/Number/Phone/StubCountry/LK.pm @@ -22,25 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{1})(\\d{6})', - 'leading_digits' => '[1-689]' + 'leading_digits' => '[1-689]', + 'pattern' => '(\\d{2})(\\d{1})(\\d{6})' }, { - 'leading_digits' => '7', - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'leading_digits' => '7' } ]; my $validators = { + 'mobile' => '7[0125-8]\\d{7}', 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', 'toll_free' => '', - 'mobile' => '7[0125-8]\\d{7}', 'geographic' => ' (?: [189]1| @@ -51,6 +49,9 @@ my $validators = { 6[35-7] )[2-57]\\d{6} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: [189]1| @@ -60,8 +61,7 @@ my $validators = { 5[12457]| 6[35-7] )[2-57]\\d{6} - ', - 'voip' => '' + ' }; my %areanames = ( 9411 => "Colombo", diff --git a/lib/Number/Phone/StubCountry/LR.pm b/lib/Number/Phone/StubCountry/LR.pm index 1939dd8008edf5ac986bbf2feecf538bcf8d9e99..5f91edb618985fd3e923f6ccd921a02426c0662d 100644 --- a/lib/Number/Phone/StubCountry/LR.pm +++ b/lib/Number/Phone/StubCountry/LR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,8 +30,8 @@ my $formatters = [ 'pattern' => '(2\\d)(\\d{3})(\\d{3})' }, { - 'pattern' => '([4-5])(\\d{3})(\\d{3})', - 'leading_digits' => '[45]' + 'leading_digits' => '[45]', + 'pattern' => '([4-5])(\\d{3})(\\d{3})' }, { 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', @@ -40,9 +40,18 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', + 'fixed_line' => '2\\d{7}', 'pager' => '', + 'voip' => ' + 332(?: + 02| + [25]\\d + )\\d{4} + ', + 'toll_free' => '', + 'geographic' => '2\\d{7}', + 'personal_number' => '', + 'specialrate' => '', 'mobile' => ' (?: 20\\d{3}| @@ -52,16 +61,7 @@ my $validators = { 77\\d{3}| 88\\d{3} )\\d{4} - ', - 'toll_free' => '', - 'voip' => ' - 332(?: - 02| - [25]\\d - )\\d{4} - ', - 'fixed_line' => '2\\d{7}', - 'geographic' => '2\\d{7}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/LS.pm b/lib/Number/Phone/StubCountry/LS.pm index 8d3c9dd5e2693b1050cc19b00ae5f5fa8df4cae3..03d7b21a5b871fa7fdc5f00e5ab03222e63dcad3 100644 --- a/lib/Number/Phone/StubCountry/LS.pm +++ b/lib/Number/Phone/StubCountry/LS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,14 +31,14 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '', + 'fixed_line' => '2\\d{7}', 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => '2\\d{7}', - 'fixed_line' => '2\\d{7}', + 'toll_free' => '800[256]\\d{4}', 'mobile' => '[56]\\d{7}', - 'toll_free' => '800[256]\\d{4}' + 'specialrate' => '' }; my %areanames = ( 26622 => "Maseru", diff --git a/lib/Number/Phone/StubCountry/LT.pm b/lib/Number/Phone/StubCountry/LT.pm index 9a2ceaf3e3ecbbe48fb6e40e339bc2ba8504d3b0..050aa2f41edb49ee3e508bb7445fc6903844b57c 100644 --- a/lib/Number/Phone/StubCountry/LT.pm +++ b/lib/Number/Phone/StubCountry/LT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -49,25 +49,17 @@ my $formatters = [ 'pattern' => '([3-6]\\d{2})(\\d{5})' }, { - 'leading_digits' => '[7-9]', - 'pattern' => '([7-9]\\d{2})(\\d{2})(\\d{3})' + 'pattern' => '([7-9]\\d{2})(\\d{2})(\\d{3})', + 'leading_digits' => '[7-9]' }, { - 'leading_digits' => '52[0-79]', - 'pattern' => '(5)(2\\d{2})(\\d{4})' + 'pattern' => '(5)(2\\d{2})(\\d{4})', + 'leading_digits' => '52[0-79]' } ]; my $validators = { - 'mobile' => '6\\d{7}', - 'toll_free' => '800\\d{5}', - 'fixed_line' => ' - (?: - 3[1478]| - 4[124-6]| - 52 - )\\d{6} - ', + 'personal_number' => '700\\d{5}', 'geographic' => ' (?: 3[1478]| @@ -75,14 +67,22 @@ my $validators = { 52 )\\d{6} ', - 'voip' => '', + 'toll_free' => '800\\d{5}', + 'mobile' => '6\\d{7}', 'specialrate' => '(808\\d{5})|( 9(?: 0[0239]| 10 )\\d{5} )|(70[67]\\d{5})', - 'personal_number' => '700\\d{5}', + 'fixed_line' => ' + (?: + 3[1478]| + 4[124-6]| + 52 + )\\d{6} + ', + 'voip' => '', 'pager' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/LU.pm b/lib/Number/Phone/StubCountry/LU.pm index 9e12df94d2b36291054355acdfb2b07720a66680..2037ae29f08a178e99f3db01299664cf6cf42f0d 100644 --- a/lib/Number/Phone/StubCountry/LU.pm +++ b/lib/Number/Phone/StubCountry/LU.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -37,7 +37,6 @@ my $formatters = [ ' }, { - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' [2-5]| 7[1-9]| @@ -45,7 +44,8 @@ my $formatters = [ [1-9]| 0[2-9] ) - ' + ', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})' }, { 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', @@ -61,17 +61,17 @@ my $formatters = [ ' }, { - 'leading_digits' => '20', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})' + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', + 'leading_digits' => '20' }, { + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', 'leading_digits' => ' 2(?: [0367]| 4[3-8] ) - ', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})' + ' }, { 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})', @@ -93,12 +93,12 @@ my $formatters = [ ' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'leading_digits' => ' 70| 80[01]| 90[015] - ' + ', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})' }, { 'leading_digits' => '6', @@ -107,15 +107,14 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '800\\d{5}', - 'mobile' => '6[2679][18]\\d{6}', 'voip' => ' 20(?: 1\\d{5}| [2-689]\\d{1,7} ) ', - 'geographic' => ' + 'pager' => '', + 'fixed_line' => ' (?: 2[2-9]\\d{2,9}| (?: @@ -131,7 +130,10 @@ my $validators = { )\\d{1,8} ) ', - 'fixed_line' => ' + 'specialrate' => '(801\\d{5})|(90[015]\\d{5})', + 'mobile' => '6[2679][18]\\d{6}', + 'personal_number' => '70\\d{6}', + 'geographic' => ' (?: 2[2-9]\\d{2,9}| (?: @@ -147,9 +149,7 @@ my $validators = { )\\d{1,8} ) ', - 'specialrate' => '(801\\d{5})|(90[015]\\d{5})', - 'pager' => '', - 'personal_number' => '70\\d{6}' + 'toll_free' => '800\\d{5}' }; my %areanames = ( 35221 => "Weicherdange", diff --git a/lib/Number/Phone/StubCountry/LV.pm b/lib/Number/Phone/StubCountry/LV.pm index 9e6865f7fcfc64615bcb161c41a695016443ec5f..74183fb61f6374d632f5e3a0ce1c0f124052b428 100644 --- a/lib/Number/Phone/StubCountry/LV.pm +++ b/lib/Number/Phone/StubCountry/LV.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,14 +31,14 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => '6\\d{7}', + 'personal_number' => '', 'geographic' => '6\\d{7}', - 'voip' => '', 'toll_free' => '80\\d{6}', 'mobile' => '2\\d{7}', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(81\\d{6})|(90\\d{6})' + 'specialrate' => '(81\\d{6})|(90\\d{6})', + 'fixed_line' => '6\\d{7}', + 'voip' => '', + 'pager' => '' }; my %areanames = ( 37161 => "Jūrmala", diff --git a/lib/Number/Phone/StubCountry/LY.pm b/lib/Number/Phone/StubCountry/LY.pm index b026537194be1ad0587da1b00a391d9620f5300d..ef8fa94a6ba79257067dcfd0d584079f24b3f4a9 100644 --- a/lib/Number/Phone/StubCountry/LY.pm +++ b/lib/Number/Phone/StubCountry/LY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,10 +31,6 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'voip' => '', 'fixed_line' => ' (?: 2[1345]| @@ -43,6 +39,9 @@ my $validators = { 71 )\\d{7} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' (?: 2[1345]| @@ -52,18 +51,39 @@ my $validators = { )\\d{7} ', 'toll_free' => '', + 'specialrate' => '', 'mobile' => '9[1-6]\\d{7}' }; - +my %areanames = ( + 21821 => "Tripoli", + 21823 => "Zawia", + 21824 => "Sabratha", + 21825 => "Zuara", + 218252 => "Zahra", + 21851 => "Misratah", + 21854 => "Sirt", + 21857 => "Hun", + 21861 => "Benghazi", + 218623 => "Gmines", + 218624 => "Elkuwaifia", + 218625 => "Deriana", + 218626 => "Kaalifa", + 218627 => "Jerdina", + 218628 => "Seluk", + 218629 => "Elmagrun", + 21863 => "Benina", + 21867 => "Elmareg", + 21871 => "Sebha", +); sub new { my $class = shift; my $number = shift; $number =~ s/(^\+218|\D)//g; - my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + my $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self if ($self->is_valid()); $number =~ s/(^0)//g; - $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self->is_valid() ? $self : undef; } 1; \ No newline at end of file diff --git a/lib/Number/Phone/StubCountry/MA.pm b/lib/Number/Phone/StubCountry/MA.pm index 91435ef86d80ffb77239b517c21287025231aa47..60760924e4b22cab958cbc1b4c190d58857ff526 100644 --- a/lib/Number/Phone/StubCountry/MA.pm +++ b/lib/Number/Phone/StubCountry/MA.pm @@ -22,35 +22,35 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '([5-7]\\d{2})(\\d{6})', 'leading_digits' => ' 5(?: 2[015-7]| 3[0-4] )| [67] - ', - 'pattern' => '([5-7]\\d{2})(\\d{6})' + ' }, { - 'pattern' => '([58]\\d{3})(\\d{5})', 'leading_digits' => ' 5(?: 2(?: [2-48]| - 90 + 9[0-7] )| 3(?: [5-79]| - 80 + 8[0-7] )| 924 )| 892 - ' + ', + 'pattern' => '([58]\\d{3})(\\d{5})' }, { 'leading_digits' => ' @@ -62,29 +62,69 @@ my $formatters = [ 'pattern' => '(5\\d{4})(\\d{4})' }, { + 'pattern' => '([5]\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' 5(?: 4[067]| 5[03] ) - ', - 'pattern' => '([5]\\d{2})(\\d{2})(\\d{2})(\\d{2})' + ' }, { + 'pattern' => '(8[09])(\\d{7})', 'leading_digits' => ' 8(?: 0| 9[013-9] ) - ', - 'pattern' => '(8[09])(\\d{7})' + ' } ]; my $validators = { - 'specialrate' => '(89\\d{7})', + 'fixed_line' => ' + 5(?: + 2(?: + [015-79]\\d| + 2[02-9]| + 3[2-57]| + 4[2-8]| + 8[235-7] + )\\d| + 3(?: + [0-48]\\d| + [57][2-9]| + 6[2-8]| + 9[3-9] + )\\d| + 4[067]\\d{2}| + 5[03]\\d{2} + )\\d{4} + ', + 'voip' => '5924[01]\\d{4}', 'pager' => '', 'personal_number' => '', + 'geographic' => ' + 5(?: + 2(?: + [015-79]\\d| + 2[02-9]| + 3[2-57]| + 4[2-8]| + 8[235-7] + )\\d| + 3(?: + [0-48]\\d| + [57][2-9]| + 6[2-8]| + 9[3-9] + )\\d| + 4[067]\\d{2}| + 5[03]\\d{2} + )\\d{4} + ', + 'toll_free' => '80\\d{7}', + 'specialrate' => '(89\\d{7})', 'mobile' => ' (?: 6(?: @@ -96,75 +136,7 @@ my $validators = { 6[12] ) )\\d{6} - ', - 'toll_free' => '80\\d{7}', - 'fixed_line' => ' - 5(?: - 2(?: - (?: - [015-7]\\d| - 2[02-9]| - 3[2-57]| - 4[2-8]| - 8[235-7] - )\\d| - 9(?: - 0\\d| - [89]0 - ) - )| - 3(?: - (?: - [0-4]\\d| - [57][2-9]| - 6[2-8]| - 9[3-9] - )\\d| - 8(?: - 0\\d| - [89]0 - ) - )| - (?: - 4[067]| - 5[03] - )\\d{2} - )\\d{4} - ', - 'geographic' => ' - 5(?: - 2(?: - (?: - [015-7]\\d| - 2[02-9]| - 3[2-57]| - 4[2-8]| - 8[235-7] - )\\d| - 9(?: - 0\\d| - [89]0 - ) - )| - 3(?: - (?: - [0-4]\\d| - [57][2-9]| - 6[2-8]| - 9[3-9] - )\\d| - 8(?: - 0\\d| - [89]0 - ) - )| - (?: - 4[067]| - 5[03] - )\\d{2} - )\\d{4} - ', - 'voip' => '5924[01]\\d{4}' + ' }; my %areanames = ( 212520 => "Casablanca", diff --git a/lib/Number/Phone/StubCountry/MC.pm b/lib/Number/Phone/StubCountry/MC.pm index ed74c3ed4e12060be0a85b9d66a3a487e7b3db78..61503ae7156940bf306e3ede48979155e35ce512 100644 --- a/lib/Number/Phone/StubCountry/MC.pm +++ b/lib/Number/Phone/StubCountry/MC.pm @@ -22,48 +22,49 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '9', + 'leading_digits' => '[39]', 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { - 'leading_digits' => '4', - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'leading_digits' => '4' }, { - 'pattern' => '(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '6' + 'leading_digits' => '6', + 'pattern' => '(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'leading_digits' => '8' + 'leading_digits' => '8', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})' } ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'fixed_line' => ' - 870\\d{5}| - 9[2-47-9]\\d{6} - ', 'geographic' => ' 870\\d{5}| 9[2-47-9]\\d{6} ', - 'voip' => '', + 'personal_number' => '', 'toll_free' => '90\\d{6}', + 'specialrate' => '', 'mobile' => ' - 6\\d{8}| + 3\\d{7}| 4(?: 4\\d| 5[1-9] - )\\d{5} - ' + )\\d{5}| + 6\\d{8} + ', + 'fixed_line' => ' + 870\\d{5}| + 9[2-47-9]\\d{6} + ', + 'pager' => '', + 'voip' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MD.pm b/lib/Number/Phone/StubCountry/MD.pm index aa50a3f29babef8f64a0bb3be430bf95dc2c50df..1febaf69809217baf15cb5bea4407995c5c6e174 100644 --- a/lib/Number/Phone/StubCountry/MD.pm +++ b/lib/Number/Phone/StubCountry/MD.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -33,32 +33,21 @@ my $formatters = [ ' }, { + 'pattern' => '([25-7]\\d{2})(\\d{2})(\\d{3})', 'leading_digits' => ' 2[13-9]| [5-7] - ', - 'pattern' => '([25-7]\\d{2})(\\d{2})(\\d{3})' + ' }, { - 'leading_digits' => '[89]', - 'pattern' => '([89]\\d{2})(\\d{5})' + 'pattern' => '([89]\\d{2})(\\d{5})', + 'leading_digits' => '[89]' } ]; my $validators = { + 'toll_free' => '800\\d{5}', 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(808\\d{5})|(90[056]\\d{5})|(803\\d{5})', - 'fixed_line' => ' - (?: - 2[1-9]\\d| - 3[1-79]\\d| - 5(?: - 33| - 5[257] - ) - )\\d{5} - ', 'geographic' => ' (?: 2[1-9]\\d| @@ -69,7 +58,7 @@ my $validators = { ) )\\d{5} ', - 'voip' => '3[08]\\d{6}', + 'specialrate' => '(808\\d{5})|(90[056]\\d{5})|(803\\d{5})', 'mobile' => ' (?: 562| @@ -81,7 +70,18 @@ my $validators = { ) )\\d{5} ', - 'toll_free' => '800\\d{5}' + 'fixed_line' => ' + (?: + 2[1-9]\\d| + 3[1-79]\\d| + 5(?: + 33| + 5[257] + ) + )\\d{5} + ', + 'voip' => '3[08]\\d{6}', + 'pager' => '' }; my %areanames = ( 373210 => "Grigoriopol", diff --git a/lib/Number/Phone/StubCountry/ME.pm b/lib/Number/Phone/StubCountry/ME.pm index b862f6d487c361e001c4bf396bdfddab73a1cf3a..805e55e7d0edd52e0e02a43a7ff68750ec34b8fa 100644 --- a/lib/Number/Phone/StubCountry/ME.pm +++ b/lib/Number/Phone/StubCountry/ME.pm @@ -22,94 +22,77 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { 'leading_digits' => ' [2-57-9]| - 6(?: - [03689]| - 7(?: - [0-8]| - 9[3-9] - ) - ) + 6[036-9] ', 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' - }, - { - 'pattern' => '(67)(9)(\\d{3})(\\d{3})', - 'leading_digits' => '679[0-2]' } ]; my $validators = { - 'voip' => '78[1-9]\\d{5}', - 'fixed_line' => ' + 'mobile' => ' + 6(?: + 00\\d| + 3[024]\\d| + 6[0-25]\\d| + [7-9]\\d{2} + )\\d{4} + ', + 'specialrate' => '( + (?: + 9(?: + 4[1568]| + 5[178] + ) + )\\d{5} + )|(77[1-9]\\d{5})', + 'personal_number' => '', + 'geographic' => ' (?: 20[2-8]| 3(?: 0[2-7]| - [12][35-7]| - 3[4-7] + [12][235-7]| + 3[24-7] )| 4(?: - 0[2367]| + 0[2-467]| 1[267] )| 5(?: - 0[467]| + 0[2467]| 1[267]| - 2[367] + 2[2367] ) )\\d{5} ', - 'geographic' => ' + 'toll_free' => '80[0-258]\\d{5}', + 'voip' => '78[1-49]\\d{5}', + 'pager' => '', + 'fixed_line' => ' (?: 20[2-8]| 3(?: 0[2-7]| - [12][35-7]| - 3[4-7] + [12][235-7]| + 3[24-7] )| 4(?: - 0[2367]| + 0[2-467]| 1[267] )| 5(?: - 0[467]| + 0[2467]| 1[267]| - 2[367] - ) - )\\d{5} - ', - 'toll_free' => '80\\d{6}', - 'mobile' => ' - 6(?: - 00\\d| - 3[24]\\d| - 61\\d| - 7(?: - [0-8]\\d| - 9(?: - [3-9]| - [0-2]\\d - ) - )| - [89]\\d{2} - )\\d{4} - ', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '( - (?: - 9(?: - 4[1568]| - 5[178] + 2[2367] ) )\\d{5} - )|(77\\d{6})' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MF.pm b/lib/Number/Phone/StubCountry/MF.pm index c9991e0fa8dd44d8842fd135edd628876cad7b37..7c4d7b24129eaf5067379bf79bde7e73354d6d93 100644 --- a/lib/Number/Phone/StubCountry/MF.pm +++ b/lib/Number/Phone/StubCountry/MF.pm @@ -22,20 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'mobile' => ' - 690(?: - 0[0-7]| - [1-9]\\d - )\\d{4} - ', - 'toll_free' => '', - 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' 590(?: [02][79]| 13| @@ -43,7 +35,10 @@ my $validators = { [78]7 )\\d{4} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' 590(?: [02][79]| 13| @@ -51,9 +46,14 @@ my $validators = { [78]7 )\\d{4} ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + 'toll_free' => '', + 'mobile' => ' + 690(?: + 0[0-7]| + [1-9]\\d + )\\d{4} + ', + 'specialrate' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MG.pm b/lib/Number/Phone/StubCountry/MG.pm index 7b2dcf64d476ba209436f2959fff6cf83966a314..e29d43e2f53de21141017511fead4d26cd03921d 100644 --- a/lib/Number/Phone/StubCountry/MG.pm +++ b/lib/Number/Phone/StubCountry/MG.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,8 +31,7 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '3[2-49]\\d{7}', - 'toll_free' => '', + 'pager' => '', 'voip' => '22\\d{7}', 'fixed_line' => ' 20(?: @@ -48,6 +47,9 @@ my $validators = { 9[245]\\d )\\d{4} ', + 'mobile' => '3[2-49]\\d{7}', + 'specialrate' => '', + 'toll_free' => '', 'geographic' => ' 20(?: 2\\d{2}| @@ -62,8 +64,6 @@ my $validators = { 9[245]\\d )\\d{4} ', - 'specialrate' => '', - 'pager' => '', 'personal_number' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/MH.pm b/lib/Number/Phone/StubCountry/MH.pm index 1d6287884a649b2b37d4943206c2a88fc7f2afc7..f802e61c567f409bbd84c19c8060a8e7fb067722 100644 --- a/lib/Number/Phone/StubCountry/MH.pm +++ b/lib/Number/Phone/StubCountry/MH.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,10 +31,15 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', 'specialrate' => '', - 'voip' => '635\\d{4}', + 'mobile' => ' + (?: + 235| + 329| + 45[56]| + 545 + )\\d{4} + ', 'geographic' => ' (?: 247| @@ -42,21 +47,16 @@ my $validators = { 625 )\\d{4} ', + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '635\\d{4}', 'fixed_line' => ' (?: 247| 528| 625 )\\d{4} - ', - 'toll_free' => '', - 'mobile' => ' - (?: - 235| - 329| - 45[56]| - 545 - )\\d{4} ' }; diff --git a/lib/Number/Phone/StubCountry/MK.pm b/lib/Number/Phone/StubCountry/MK.pm index 8373d5325ee7dade912ecb87bf241b6b89e04869..5c1b59070c5a358a289bb2c318af062ae82c67db 100644 --- a/lib/Number/Phone/StubCountry/MK.pm +++ b/lib/Number/Phone/StubCountry/MK.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,8 +30,8 @@ my $formatters = [ 'leading_digits' => '2' }, { - 'leading_digits' => '[347]', - 'pattern' => '([347]\\d)(\\d{3})(\\d{3})' + 'pattern' => '([347]\\d)(\\d{3})(\\d{3})', + 'leading_digits' => '[347]' }, { 'leading_digits' => '[58]', @@ -40,16 +40,9 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '( - 8(?: - 0[1-9]| - [1-9]\\d - )\\d{5} - )|(5[02-9]\\d{6})', 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' (?: 2(?: [23]\\d| @@ -71,7 +64,21 @@ my $validators = { ) )\\d{5} ', - 'fixed_line' => ' + 'mobile' => ' + 7(?: + [0-25-8]\\d{2}| + 32\\d| + 421 + )\\d{4} + ', + 'specialrate' => '( + 8(?: + 0[1-9]| + [1-9]\\d + )\\d{5} + )|(5[02-9]\\d{6})', + 'toll_free' => '800\\d{5}', + 'geographic' => ' (?: 2(?: [23]\\d| @@ -93,14 +100,7 @@ my $validators = { ) )\\d{5} ', - 'toll_free' => '800\\d{5}', - 'mobile' => ' - 7(?: - [0-25-8]\\d{2}| - 32\\d| - 421 - )\\d{4} - ' + 'personal_number' => '' }; my %areanames = ( 3892 => "Skopje", diff --git a/lib/Number/Phone/StubCountry/ML.pm b/lib/Number/Phone/StubCountry/ML.pm index 66ae000a28ac73f9de8a732589285d36fd02b150..d6f6a4d256373a02c46a5d14ee5f1c1a5b20cb8d 100644 --- a/lib/Number/Phone/StubCountry/ML.pm +++ b/lib/Number/Phone/StubCountry/ML.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -39,21 +39,8 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'mobile' => ' - (?: - 2(?: - 079| - 17\\d - )| - [679]\\d{3}| - 8[239]\\d{2} - )\\d{4} - ', 'toll_free' => '80\\d{6}', - 'fixed_line' => ' + 'geographic' => ' (?: 2(?: 0(?: @@ -68,7 +55,19 @@ my $validators = { 44[1239]\\d )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'mobile' => ' + (?: + 2(?: + 079| + 17\\d + )| + [679]\\d{3}| + 8[239]\\d{2} + )\\d{4} + ', + 'specialrate' => '', + 'fixed_line' => ' (?: 2(?: 0(?: @@ -83,6 +82,7 @@ my $validators = { 44[1239]\\d )\\d{4} ', + 'pager' => '', 'voip' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/MM.pm b/lib/Number/Phone/StubCountry/MM.pm index 315ea373376edb4e0fc33fa3ee01320cbd1e78aa..159528b0bf25e7926a61b9135e304dcdf992bd7f 100644 --- a/lib/Number/Phone/StubCountry/MM.pm +++ b/lib/Number/Phone/StubCountry/MM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -44,51 +44,49 @@ my $formatters = [ ' }, { + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'leading_digits' => ' 67| 81 - ', - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})' + ' }, { 'leading_digits' => '[4-8]', 'pattern' => '(\\d{2})(\\d{2})(\\d{3,4})' }, { - 'pattern' => '(9)(\\d{3})(\\d{4,6})', 'leading_digits' => ' 9(?: 2[0-4]| [35-9]| 4[137-9] ) - ' + ', + 'pattern' => '(9)(\\d{3})(\\d{4,6})' }, { + 'pattern' => '(9)([34]\\d{4})(\\d{4})', 'leading_digits' => ' 9(?: 3[0-36]| 4[0-57-9] ) - ', - 'pattern' => '(9)([34]\\d{4})(\\d{4})' + ' }, { - 'leading_digits' => '92[56]', - 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{3})' + 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{3})', + 'leading_digits' => '92[56]' }, { - 'leading_digits' => '93', - 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{2})' + 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{2})', + 'leading_digits' => '93' } ]; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '', 'voip' => '1333\\d{4}', - 'geographic' => ' + 'fixed_line' => ' 1(?: 2\\d{1,2}| [3-5]\\d| @@ -113,12 +111,16 @@ my $validators = { )| 4(?: 2[245-8]| - [346][2-6]| + 3(?: + [2-46]| + 56? + )| + [46][2-6]| 5[3-5] )\\d{4}| 5(?: 2(?: - 20?| + 2(?:\\d{1,2})?| [3-8] )| 3[2-68]| @@ -134,9 +136,19 @@ my $validators = { )\\d{4}| 6(?: 0[23]| - 1[2356]| - [24][2-6]| + 1(?: + 2(?: + 0| + 4\\d + )?| + [356] + )| + 2[2-6]| 3[24-6]| + 4(?: + 2(?:4\\d)?| + [3-6] + )| 5[2-4]| 6[2-8]| 7(?: @@ -146,13 +158,20 @@ my $validators = { 8[145]\\d )| 8[245]| - 9[24] + 9(?: + 20?| + 4 + ) )\\d{4}| 7(?: [04][24-8]| - [15][2-7]| + 1(?: + 20?| + [3-7] + )| 22| - 3[2-4] + 3[2-4]| + 5[2-7] )\\d{4}| 8(?: 1(?: @@ -173,7 +192,42 @@ my $validators = { 6[23]\\d )\\d{3} ', - 'fixed_line' => ' + 'specialrate' => '', + 'mobile' => ' + 17[01]\\d{4}| + 9(?: + 2(?: + [0-4]| + 5\\d{2}| + 6[0-5]\\d + )| + 3(?: + [0-36]| + 4[069] + )\\d| + 4(?: + 0[0-4]\\d| + [1379]\\d| + 2\\d{2}| + 4[0-589]\\d| + 5\\d{2}| + 88 + )| + 5[0-6]| + 61?\\d| + 7(?: + 3\\d| + [6-9]\\d{2} + )| + 8\\d| + 9(?: + 1\\d| + [5-7]\\d{2}| + [089] + ) + )\\d{5} + ', + 'geographic' => ' 1(?: 2\\d{1,2}| [3-5]\\d| @@ -198,12 +252,16 @@ my $validators = { )| 4(?: 2[245-8]| - [346][2-6]| + 3(?: + [2-46]| + 56? + )| + [46][2-6]| 5[3-5] )\\d{4}| 5(?: 2(?: - 20?| + 2(?:\\d{1,2})?| [3-8] )| 3[2-68]| @@ -219,9 +277,19 @@ my $validators = { )\\d{4}| 6(?: 0[23]| - 1[2356]| - [24][2-6]| + 1(?: + 2(?: + 0| + 4\\d + )?| + [356] + )| + 2[2-6]| 3[24-6]| + 4(?: + 2(?:4\\d)?| + [3-6] + )| 5[2-4]| 6[2-8]| 7(?: @@ -231,13 +299,20 @@ my $validators = { 8[145]\\d )| 8[245]| - 9[24] + 9(?: + 20?| + 4 + ) )\\d{4}| 7(?: [04][24-8]| - [15][2-7]| + 1(?: + 20?| + [3-7] + )| 22| - 3[2-4] + 3[2-4]| + 5[2-7] )\\d{4}| 8(?: 1(?: @@ -258,43 +333,76 @@ my $validators = { 6[23]\\d )\\d{3} ', - 'mobile' => ' - 17[01]\\d{4}| - 9(?: - 2(?: - [0-4]| - 5\\d{2}| - 6[0-5]\\d - )| - 3[0-36]\\d| - 4(?: - 0[0-4]\\d| - [1379]\\d| - 2\\d{2}| - 4[0-589]\\d| - 5\\d{2}| - 88 - )| - 5[0-6]| - 61?\\d| - 7(?: - 3\\d| - [789]\\d{2} - )| - 8\\d| - 9(?: - 1\\d| - [67]\\d{2}| - [089] - ) - )\\d{5} - ', + 'personal_number' => '', 'toll_free' => '' }; my %areanames = ( + 951550 => "Bahan", + 951551 => "Bahan", + 951552 => "Bahan", + 951553 => "Bahan", + 951680 => "Bayintnaung", + 951681 => "Bayintnaung", + 951682 => "Bayintnaung", + 951683 => "Bayintnaung", + 951684 => "Bayintnaung", + 951685 => "Bayintnaung", + 951686 => "Bayintnaung", + 951687 => "Bayintnaung", + 951688 => "Bayintnaung", 9522000 => "Mingalar\ Mandalay", + 95256 => "Amarapura", + 954353 => "Buthidaung", + 9543565 => "Palatwa", + 95522221 => "Bago", + 95522222 => "Bago", + 95522223 => "Bago", + 95522224 => "Bago", + 95522230 => "Oathar\ Myothit", 955645 => "Tandar", + 9561200 => "Chauk", + 956124620 => "Chauk", + 956124621 => "Chauk", + 956124622 => "Chauk", + 956124623 => "Chauk", + 956124624 => "Chauk", + 956124640 => "Bagan", + 956124641 => "Bagan", + 956124642 => "Bagan", + 956124643 => "Bagan", + 956124644 => "Bagan", + 956260 => "Kanma", + 956323 => "Magway", + 956324 => "Magway", + 95642487 => "Shawpin", + 956525 => "Ngape", + 9567550 => "Naypyidaw", + 9569200 => "Aunglan", + 956940 => "Sinpaungwae", + 95712032 => "Ohbotaung", + 95812820 => "Moenae", + 95812821 => "Moenae", + 95812822 => "Moenae", + 95812823 => "Moenae", + 95812824 => "Moenae", + 958130 => "Pinlon", + 958131 => "Loilem", + 958141 => "Naungtayar", + 958149 => "Sesin", 9582320 => "Manton", + 958238 => "Tantyan", + 958521 => "Pyinoolwin", + 958522 => "Pyinoolwin", + 958523 => "Pyinoolwin", + 958528 => "Pyinoolwin", + 958529 => "Padaythar\ Myothit", + 958540 => "Ohn\ Chaw", + 958620 => "Mogoke", + 958621 => "Mogoke", + 958625 => "Kyatpyin", + 958630 => "Thabeikkyin", + 958635 => "Sintkuu", + 958639 => "Letpanhla", ); sub new { my $class = shift; diff --git a/lib/Number/Phone/StubCountry/MN.pm b/lib/Number/Phone/StubCountry/MN.pm index e2adf18343a70ff0d85d95c26b9cb7d50f27d98c..b49d02b6c48e160c9cfc480f1faa84345e270b94 100644 --- a/lib/Number/Phone/StubCountry/MN.pm +++ b/lib/Number/Phone/StubCountry/MN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,49 +30,36 @@ my $formatters = [ 'pattern' => '([12]\\d)(\\d{2})(\\d{4})' }, { - 'leading_digits' => '[12]2[1-3]', - 'pattern' => '([12]2\\d)(\\d{5,6})' + 'pattern' => '([12]2\\d)(\\d{5,6})', + 'leading_digits' => '[12]2[1-3]' }, { - 'pattern' => '([12]\\d{3})(\\d{5})', 'leading_digits' => ' [12](?: 27| [3-5]\\d )2 - ' + ', + 'pattern' => '([12]\\d{3})(\\d{5})' }, { - 'leading_digits' => '[57-9]', - 'pattern' => '(\\d{4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{4})', + 'leading_digits' => '[57-9]' }, { - 'pattern' => '([12]\\d{4})(\\d{4,5})', 'leading_digits' => ' [12](?: 27| [3-5]\\d )[4-9] - ' + ', + 'pattern' => '([12]\\d{4})(\\d{4,5})' } ]; my $validators = { - 'specialrate' => '', 'personal_number' => '', - 'pager' => '', - 'mobile' => ' - (?: - 8(?: - [05689]\\d| - 3[01] - )| - 9[013-9]\\d - )\\d{5} - ', - 'toll_free' => '', - 'voip' => '7[05-8]\\d{6}', - 'fixed_line' => ' + 'geographic' => ' [12](?: 1\\d| 2(?: @@ -85,7 +72,18 @@ my $validators = { )\\d{5}| 5[0568]\\d{6} ', - 'geographic' => ' + 'toll_free' => '', + 'mobile' => ' + (?: + 8(?: + [05689]\\d| + 3[01] + )| + 9[013-9]\\d + )\\d{5} + ', + 'specialrate' => '', + 'fixed_line' => ' [12](?: 1\\d| 2(?: @@ -97,7 +95,9 @@ my $validators = { 5[1-4689]\\d{1,2} )\\d{5}| 5[0568]\\d{6} - ' + ', + 'voip' => '7[05-8]\\d{6}', + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MO.pm b/lib/Number/Phone/StubCountry/MO.pm index 7c3a84e059146a0210d84a8ff13acf54d8fd2e81..fada15a6941e2a02387decd9d2e59c86dfbfaf99 100644 --- a/lib/Number/Phone/StubCountry/MO.pm +++ b/lib/Number/Phone/StubCountry/MO.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,23 +31,23 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'geographic' => ' + 'fixed_line' => ' (?: 28[2-57-9]| 8[2-57-9]\\d )\\d{5} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' (?: 28[2-57-9]| 8[2-57-9]\\d )\\d{5} ', - 'voip' => '', 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' 6(?: [2356]\\d| diff --git a/lib/Number/Phone/StubCountry/MP.pm b/lib/Number/Phone/StubCountry/MP.pm index 1dd440ec8b67f006ae3defed610caae97d20a542..72e7ec87e645afff614078ea5fa81262f5d1c5fc 100644 --- a/lib/Number/Phone/StubCountry/MP.pm +++ b/lib/Number/Phone/StubCountry/MP.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,18 +34,8 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', 'pager' => '', + 'voip' => '', 'specialrate' => '(900[2-9]\\d{6})', 'geographic' => '( 670(?: @@ -100,10 +90,21 @@ my $validators = { 989 )\\d{4} )', - 'voip' => '', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| diff --git a/lib/Number/Phone/StubCountry/MQ.pm b/lib/Number/Phone/StubCountry/MQ.pm index e7471ae4806ae7bcc8398ba051dbcdec61544673..db222280c47dca7efc1e3b879ff6218d0273e01d 100644 --- a/lib/Number/Phone/StubCountry/MQ.pm +++ b/lib/Number/Phone/StubCountry/MQ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,7 +31,9 @@ my $formatters = [ ]; my $validators = { - 'geographic' => ' + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' 596(?: 0[2-5]| [12]0| @@ -42,7 +44,16 @@ my $validators = { 9[4-8] )\\d{4} ', - 'fixed_line' => ' + 'mobile' => ' + 696(?: + [0-479]\\d| + 5[0-4]| + 8[0-689] + )\\d{4} + ', + 'specialrate' => '', + 'toll_free' => '', + 'geographic' => ' 596(?: 0[2-5]| [12]0| @@ -53,18 +64,7 @@ my $validators = { 9[4-8] )\\d{4} ', - 'voip' => '', - 'toll_free' => '', - 'mobile' => ' - 696(?: - [0-479]\\d| - 5[013]| - 8[0-689] - )\\d{4} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MR.pm b/lib/Number/Phone/StubCountry/MR.pm index 346adce122da5432bb1a105da1f12b58e469d25b..172b34e417a2033ad43809d4397e2da90579043f 100644 --- a/lib/Number/Phone/StubCountry/MR.pm +++ b/lib/Number/Phone/StubCountry/MR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,22 +31,22 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '[234][0-46-9]\\d{6}', - 'toll_free' => '800\\d{5}', - 'voip' => '', - 'fixed_line' => ' + 'geographic' => ' 25[08]\\d{5}| 35\\d{6}| 45[1-7]\\d{5} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '800\\d{5}', + 'specialrate' => '', + 'mobile' => '[234][0-46-9]\\d{6}', + 'fixed_line' => ' 25[08]\\d{5}| 35\\d{6}| 45[1-7]\\d{5} ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + 'pager' => '', + 'voip' => '' }; my %areanames = ( 22245 => "Nouakchott", diff --git a/lib/Number/Phone/StubCountry/MS.pm b/lib/Number/Phone/StubCountry/MS.pm index a3364949fa192a3e9827681d590cd9a3732a1f5c..60b85fd622841c61d61916e4ab9c8237cddfcefa 100644 --- a/lib/Number/Phone/StubCountry/MS.pm +++ b/lib/Number/Phone/StubCountry/MS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,33 +34,34 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => ' - 5(?: + 'fixed_line' => '664491\\d{4}', + 'pager' => '', + 'voip' => '', + 'toll_free' => ' + 8(?: 00| - 22| 33| 44| + 55| 66| 77| 88 )[2-9]\\d{6} ', - 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})', - 'voip' => '', - 'fixed_line' => '664491\\d{4}', 'geographic' => '664491\\d{4}', - 'mobile' => '66449[2-6]\\d{4}', - 'toll_free' => ' - 8(?: + 'personal_number' => ' + 5(?: 00| + 22| + 33| 44| - 55| 66| 77| 88 )[2-9]\\d{6} - ' + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => '66449[2-6]\\d{4}' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/MT.pm b/lib/Number/Phone/StubCountry/MT.pm index bdd2f8a8327ec27cdcad9ec0cef166bd1e377439..5020acd5927952e0fa09b91a80a22af6049542fe 100644 --- a/lib/Number/Phone/StubCountry/MT.pm +++ b/lib/Number/Phone/StubCountry/MT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,8 +31,27 @@ my $formatters = [ ]; my $validators = { - 'pager' => '7117\\d{4}', - 'personal_number' => '', + 'mobile' => ' + (?: + 7(?: + 210| + [79]\\d{2} + )| + 9(?: + 2(?: + 1[01]| + 31 + )| + 696| + 8(?: + 1[1-3]| + 89| + 97 + )| + 9\\d{2} + ) + )\\d{4} + ', 'specialrate' => '( 5(?: 0(?: @@ -47,8 +66,9 @@ my $validators = { [12]\\d0[1-5] )\\d{3} )|(501\\d{5})', - 'voip' => '3550\\d{4}', - 'fixed_line' => ' + 'toll_free' => '800[3467]\\d{4}', + 'personal_number' => '', + 'geographic' => ' 2(?: 0(?: 1[0-6]| @@ -58,7 +78,9 @@ my $validators = { [1-357]\\d{2} )\\d{4} ', - 'geographic' => ' + 'voip' => '3550\\d{4}', + 'pager' => '7117\\d{4}', + 'fixed_line' => ' 2(?: 0(?: 1[0-6]| @@ -67,28 +89,6 @@ my $validators = { )| [1-357]\\d{2} )\\d{4} - ', - 'toll_free' => '800[3467]\\d{4}', - 'mobile' => ' - (?: - 7(?: - 210| - [79]\\d{2} - )| - 9(?: - 2(?: - 1[01]| - 31 - )| - 696| - 8(?: - 1[1-3]| - 89| - 97 - )| - 9\\d{2} - ) - )\\d{4} ' }; diff --git a/lib/Number/Phone/StubCountry/MU.pm b/lib/Number/Phone/StubCountry/MU.pm index 8c4ec39b499deeca4f278f7c38ce658103e13f43..66a432b9217b05ec8334e40a99400f65b1406e35 100644 --- a/lib/Number/Phone/StubCountry/MU.pm +++ b/lib/Number/Phone/StubCountry/MU.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,13 +30,13 @@ my $formatters = [ 'leading_digits' => '[2-46-9]' }, { - 'leading_digits' => '5', - 'pattern' => '(5\\d{3})(\\d{4})' + 'pattern' => '(5\\d{3})(\\d{4})', + 'leading_digits' => '5' } ]; my $validators = { - 'toll_free' => '80[012]\\d{4}', + 'specialrate' => '(30\\d{5})', 'mobile' => ' 5(?: 2[59]\\d| @@ -49,19 +49,14 @@ my $validators = { 7\\d{2}| 8(?: [0-25689]\\d| - 4[47]| + 4[3479]| 7[15-8] )| 9[0-8]\\d )\\d{4} ', - 'voip' => ' - 3(?: - 20| - 9\\d - )\\d{4} - ', - 'fixed_line' => ' + 'toll_free' => '80[012]\\d{4}', + 'geographic' => ' (?: 2(?: [03478]\\d| @@ -83,7 +78,15 @@ my $validators = { ) )\\d{4} ', - 'geographic' => ' + 'personal_number' => '', + 'pager' => '', + 'voip' => ' + 3(?: + 20| + 9\\d + )\\d{4} + ', + 'fixed_line' => ' (?: 2(?: [03478]\\d| @@ -104,10 +107,7 @@ my $validators = { 3[129] ) )\\d{4} - ', - 'specialrate' => '(30\\d{5})', - 'personal_number' => '', - 'pager' => '' + ' }; my %areanames = ( 2302 => "North\ Region", diff --git a/lib/Number/Phone/StubCountry/MV.pm b/lib/Number/Phone/StubCountry/MV.pm index 92187b4cb6b3365ef6b4626af1162792e3129401..7c835fa82b36d9b14aa6bee2f7bfb272cbb89423 100644 --- a/lib/Number/Phone/StubCountry/MV.pm +++ b/lib/Number/Phone/StubCountry/MV.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -42,9 +42,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(900\\d{7})|(4[05]0\\d{4})', - 'pager' => '781\\d{4}', - 'personal_number' => '', 'mobile' => ' (?: 46[46]| @@ -52,7 +49,7 @@ my $validators = { 9[15-9]\\d )\\d{4} ', - 'toll_free' => '800\\d{7}', + 'specialrate' => '(900\\d{7})|(4[05]0\\d{4})', 'geographic' => ' (?: 3(?: @@ -67,6 +64,10 @@ my $validators = { ) )\\d{4} ', + 'personal_number' => '', + 'toll_free' => '800\\d{7}', + 'pager' => '781\\d{4}', + 'voip' => '', 'fixed_line' => ' (?: 3(?: @@ -80,8 +81,7 @@ my $validators = { 90 ) )\\d{4} - ', - 'voip' => '' + ' }; my %areanames = ( 960300 => "Malé\/Hulhulé\/Aarah", diff --git a/lib/Number/Phone/StubCountry/MW.pm b/lib/Number/Phone/StubCountry/MW.pm index 8c98029a178cc50004a798ba291e3316bd15d343..5ee07618eeeb5459146a845df846a684c7e2f2a0 100644 --- a/lib/Number/Phone/StubCountry/MW.pm +++ b/lib/Number/Phone/StubCountry/MW.pm @@ -22,41 +22,32 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '1', - 'pattern' => '(\\d)(\\d{3})(\\d{3})' + 'pattern' => '(\\d)(\\d{3})(\\d{3})', + 'leading_digits' => '1' }, { - 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '[1789]' + 'leading_digits' => '[1789]', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '', 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 1[2-9]| 21\\d{2} )\\d{5} ', - 'geographic' => ' - (?: - 1[2-9]| - 21\\d{2} - )\\d{5} - ', - 'toll_free' => '', 'mobile' => ' (?: 111| @@ -64,6 +55,15 @@ my $validators = { 88\\d| 99\\d )\\d{6} + ', + 'specialrate' => '', + 'toll_free' => '', + 'personal_number' => '', + 'geographic' => ' + (?: + 1[2-9]| + 21\\d{2} + )\\d{5} ' }; diff --git a/lib/Number/Phone/StubCountry/MX.pm b/lib/Number/Phone/StubCountry/MX.pm index 8e9af4864c7f83bf65c06a9cf89db956ce23ac01..fa0e83599b63201e4b02730d49d042720fd92048 100644 --- a/lib/Number/Phone/StubCountry/MX.pm +++ b/lib/Number/Phone/StubCountry/MX.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -54,6 +54,7 @@ my $formatters = [ 'pattern' => '(1)([358]\\d)(\\d{4})(\\d{4})' }, { + 'pattern' => '(1)(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 1(?: [2467]| @@ -62,18 +63,82 @@ my $formatters = [ 8[2-9]| 9[1-35-9] ) - ', - 'pattern' => '(1)(\\d{3})(\\d{3})(\\d{4})' + ' } ]; my $validators = { - 'toll_free' => ' - 8(?: - 00| - 88 + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' + (?: + 33| + 55| + 81 + )\\d{8}| + (?: + 2(?: + 0[01]| + 2[2-9]| + 3[1-35-8]| + 4[13-9]| + 7[1-689]| + 8[1-578]| + 9[467] + )| + 3(?: + 1[1-79]| + [2458][1-9]| + 7[1-8]| + 9[1-5] + )| + 4(?: + 1[1-57-9]| + [24-6][1-9]| + [37][1-8]| + 8[1-35-9]| + 9[2-689] + )| + 5(?: + 88| + 9[1-79] + )| + 6(?: + 1[2-68]| + [234][1-9]| + 5[1-3689]| + 6[12457-9]| + 7[1-7]| + 8[67]| + 9[4-8] + )| + 7(?: + [13467][1-9]| + 2[1-8]| + 5[13-9]| + 8[1-69]| + 9[17] + )| + 8(?: + 2[13-689]| + 3[1-6]| + 4[124-6]| + 6[1246-9]| + 7[1-378]| + 9[12479] + )| + 9(?: + 1[346-9]| + 2[1-4]| + 3[2-46-8]| + 5[1348]| + [69][1-9]| + 7[12]| + 8[1-8] + ) )\\d{7} ', + 'specialrate' => '(300\\d{7})|(900\\d{7})', 'mobile' => ' 1(?: (?: @@ -83,7 +148,7 @@ my $validators = { )\\d{8}| (?: 2(?: - 2[2-9]| + 2[1-9]| 3[1-35-8]| 4[13-9]| 7[1-689]| @@ -143,76 +208,13 @@ my $validators = { )\\d{7} ) ', - 'voip' => '', - 'geographic' => ' - (?: - 33| - 55| - 81 - )\\d{8}| - (?: - 2(?: - 0[01]| - 2[2-9]| - 3[1-35-8]| - 4[13-9]| - 7[1-689]| - 8[1-578]| - 9[467] - )| - 3(?: - 1[1-79]| - [2458][1-9]| - 7[1-8]| - 9[1-5] - )| - 4(?: - 1[1-57-9]| - [24-6][1-9]| - [37][1-8]| - 8[1-35-9]| - 9[2-689] - )| - 5(?: - 88| - 9[1-79] - )| - 6(?: - 1[2-68]| - [234][1-9]| - 5[1-3689]| - 6[12457-9]| - 7[1-7]| - 8[67]| - 9[4-8] - )| - 7(?: - [13467][1-9]| - 2[1-8]| - 5[13-9]| - 8[1-69]| - 9[17] - )| - 8(?: - 2[13-689]| - 3[1-6]| - 4[124-6]| - 6[1246-9]| - 7[1-378]| - 9[12479] - )| - 9(?: - 1[346-9]| - 2[1-4]| - 3[2-46-8]| - 5[1348]| - [69][1-9]| - 7[12]| - 8[1-8] - ) + 'toll_free' => ' + 8(?: + 00| + 88 )\\d{7} ', - 'fixed_line' => ' + 'geographic' => ' (?: 33| 55| @@ -280,9 +282,7 @@ my $validators = { ) )\\d{7} ', - 'specialrate' => '(300\\d{7})|(900\\d{7})', - 'personal_number' => '500\\d{7}', - 'pager' => '' + 'personal_number' => '500\\d{7}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MY.pm b/lib/Number/Phone/StubCountry/MY.pm index 6dabc5d5dba7662b1e99eb39156a8ea3bac2366f..56739b3bccf769da99348eec8329039ab731cd49 100644 --- a/lib/Number/Phone/StubCountry/MY.pm +++ b/lib/Number/Phone/StubCountry/MY.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[4-79]', - 'pattern' => '([4-79])(\\d{3})(\\d{4})' + 'pattern' => '([4-79])(\\d{3})(\\d{4})', + 'leading_digits' => '[4-79]' }, { 'pattern' => '(3)(\\d{4})(\\d{4})', @@ -41,24 +41,21 @@ my $formatters = [ 'pattern' => '([18]\\d)(\\d{3})(\\d{3,4})' }, { - 'leading_digits' => '1[36-8]0', - 'pattern' => '(1)([36-8]00)(\\d{2})(\\d{4})' + 'pattern' => '(1)([36-8]00)(\\d{2})(\\d{4})', + 'leading_digits' => '1[36-8]0' }, { - 'pattern' => '(11)(\\d{4})(\\d{4})', - 'leading_digits' => '11' + 'leading_digits' => '11', + 'pattern' => '(11)(\\d{4})(\\d{4})' }, { - 'leading_digits' => '15', - 'pattern' => '(15[49])(\\d{3})(\\d{4})' + 'pattern' => '(15[49])(\\d{3})(\\d{4})', + 'leading_digits' => '15' } ]; my $validators = { 'specialrate' => '(1600\\d{6})', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '1[378]00\\d{6}', 'mobile' => ' 1(?: 1[1-5]\\d{2}| @@ -70,19 +67,22 @@ my $validators = { ) )\\d{5} ', + 'toll_free' => '1[378]00\\d{6}', 'geographic' => ' (?: 3[2-9]\\d| [4-9][2-9] )\\d{6} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '154\\d{7}', 'fixed_line' => ' (?: 3[2-9]\\d| [4-9][2-9] )\\d{6} - ', - 'voip' => '154\\d{7}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/MZ.pm b/lib/Number/Phone/StubCountry/MZ.pm index 41e1a1ce1a9eab7cc368f3250386357ec5f22316..e6fd86045b916b23306ef4e49799f6f958289d05 100644 --- a/lib/Number/Phone/StubCountry/MZ.pm +++ b/lib/Number/Phone/StubCountry/MZ.pm @@ -22,28 +22,25 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([28]\\d)(\\d{3})(\\d{3,4})', 'leading_digits' => ' 2| 8[2-7] - ' + ', + 'pattern' => '([28]\\d)(\\d{3})(\\d{3,4})' }, { - 'leading_digits' => '80', - 'pattern' => '(80\\d)(\\d{3})(\\d{3})' + 'pattern' => '(80\\d)(\\d{3})(\\d{3})', + 'leading_digits' => '80' } ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', + 'voip' => '', 'pager' => '', - 'toll_free' => '800\\d{6}', - 'mobile' => '8[23467]\\d{7}', 'fixed_line' => ' 2(?: [1346]\\d| @@ -52,6 +49,10 @@ my $validators = { 93 )\\d{5} ', + 'mobile' => '8[2-7]\\d{7}', + 'specialrate' => '', + 'toll_free' => '800\\d{6}', + 'personal_number' => '', 'geographic' => ' 2(?: [1346]\\d| @@ -59,8 +60,7 @@ my $validators = { [78][12]| 93 )\\d{5} - ', - 'voip' => '' + ' }; my %areanames = ( 25821 => "Maputo", diff --git a/lib/Number/Phone/StubCountry/NA.pm b/lib/Number/Phone/StubCountry/NA.pm index 08d71cca4443642f9baaf10a5865044fe59481dd..09a26bc0e5f288e0e157972c97a697eb3ffb44a8 100644 --- a/lib/Number/Phone/StubCountry/NA.pm +++ b/lib/Number/Phone/StubCountry/NA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,12 +30,12 @@ my $formatters = [ 'pattern' => '(8\\d)(\\d{3})(\\d{4})' }, { - 'leading_digits' => '6', - 'pattern' => '(6\\d)(\\d{3})(\\d{3,4})' + 'pattern' => '(6\\d)(\\d{3})(\\d{3,4})', + 'leading_digits' => '6' }, { - 'pattern' => '(88)(\\d{3})(\\d{3})', - 'leading_digits' => '88' + 'leading_digits' => '88', + 'pattern' => '(88)(\\d{3})(\\d{3})' }, { 'pattern' => '(870)(\\d{3})(\\d{3})', @@ -44,9 +44,15 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '(8701\\d{5})', + 'mobile' => ' + (?: + 60| + 8[125] + )\\d{7} + ', + 'toll_free' => '', + 'personal_number' => '', 'geographic' => ' 6(?: 1(?: @@ -135,11 +141,18 @@ my $validators = { 0\\d?| [13] )| - 69| + 6[89]| 7[01] ) )\\d{4} ', + 'voip' => ' + 8(?: + 3\\d{2}| + 86 + )\\d{5} + ', + 'pager' => '', 'fixed_line' => ' 6(?: 1(?: @@ -228,23 +241,10 @@ my $validators = { 0\\d?| [13] )| - 69| + 6[89]| 7[01] ) )\\d{4} - ', - 'voip' => ' - 8(?: - 3\\d{2}| - 86 - )\\d{5} - ', - 'toll_free' => '', - 'mobile' => ' - (?: - 60| - 8[125] - )\\d{7} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/NC.pm b/lib/Number/Phone/StubCountry/NC.pm index 7363a653acd81ccbbdab9a1c215aabf611618ff7..ad4296578dea25cc9a3349bfbc75d4d63150215f 100644 --- a/lib/Number/Phone/StubCountry/NC.pm +++ b/lib/Number/Phone/StubCountry/NC.pm @@ -22,31 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' [2-46-9]| 5[0-4] - ' + ', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { - 'specialrate' => '(36\\d{4})', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '', - 'mobile' => ' - (?: - 5[0-4]| - [79]\\d| - 8[0-79] - )\\d{4} - ', - 'geographic' => ' + 'fixed_line' => ' (?: 2[03-9]| 3[0-5]| @@ -54,7 +43,10 @@ my $validators = { 88 )\\d{4} ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '', + 'toll_free' => '', + 'geographic' => ' (?: 2[03-9]| 3[0-5]| @@ -62,7 +54,15 @@ my $validators = { 88 )\\d{4} ', - 'voip' => '' + 'personal_number' => '', + 'mobile' => ' + (?: + 5[0-4]| + [79]\\d| + 8[0-79] + )\\d{4} + ', + 'specialrate' => '(36\\d{4})' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NE.pm b/lib/Number/Phone/StubCountry/NE.pm index 63412cbccbe8f66964b2855783e6027fa126b13e..2ee3e2a5264ff34e3ddef281af46ddabbd8bf5c9 100644 --- a/lib/Number/Phone/StubCountry/NE.pm +++ b/lib/Number/Phone/StubCountry/NE.pm @@ -22,15 +22,15 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' [289]| 09 - ', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' + ' }, { 'pattern' => '(08)(\\d{3})(\\d{3})', @@ -39,16 +39,7 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(09\\d{6})', 'pager' => '', - 'personal_number' => '', - 'mobile' => ' - (?: - 8[089]| - 9\\d - )\\d{6} - ', - 'toll_free' => '08\\d{6}', 'voip' => '', 'fixed_line' => ' 2(?: @@ -69,6 +60,14 @@ my $validators = { ) )\\d{4} ', + 'mobile' => ' + (?: + 8[089]| + 9\\d + )\\d{6} + ', + 'specialrate' => '(09\\d{6})', + 'toll_free' => '08\\d{6}', 'geographic' => ' 2(?: 0(?: @@ -87,14 +86,40 @@ my $validators = { 88 ) )\\d{4} - ' + ', + 'personal_number' => '' }; - +my %areanames = ( + 2272020 => "Niamey", + 2272031 => "Niamey", + 2272032 => "Niamey", + 2272033 => "Niamey", + 2272034 => "Niamey", + 2272035 => "Niamey", + 2272036 => "Niamey", + 2272037 => "Niamey", + 2272041 => "Maradi", + 2272044 => "Agadez", + 2272045 => "Arlit", + 2272051 => "Zinder", + 2272054 => "Diffa", + 2272061 => "Tahoua", + 2272064 => "Konni", + 2272065 => "Dosso", + 2272068 => "Gaya", + 2272071 => "Tillabéry", + 2272072 => "Niamey", + 2272073 => "Niamey", + 2272074 => "Niamey", + 2272075 => "Niamey", + 2272077 => "Filingué", + 2272078 => "Say", +); sub new { my $class = shift; my $number = shift; $number =~ s/(^\+227|\D)//g; - my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + my $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self->is_valid() ? $self : undef; } 1; \ No newline at end of file diff --git a/lib/Number/Phone/StubCountry/NF.pm b/lib/Number/Phone/StubCountry/NF.pm index d6c1249af5464894d926cb53ef023ffe047019d7..9a80fba4cc4999846c9413b8f79f6973d569930a 100644 --- a/lib/Number/Phone/StubCountry/NF.pm +++ b/lib/Number/Phone/StubCountry/NF.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{4})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(\\d{2})(\\d{4})' }, { 'pattern' => '(\\d)(\\d{5})', @@ -36,8 +36,7 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', + 'mobile' => '3[58]\\d{4}', 'specialrate' => '', 'geographic' => ' (?: @@ -50,6 +49,10 @@ my $validators = { 3[012]\\d )\\d{3} ', + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 1(?: @@ -60,10 +63,7 @@ my $validators = { )| 3[012]\\d )\\d{3} - ', - 'voip' => '', - 'toll_free' => '', - 'mobile' => '3[58]\\d{4}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NG.pm b/lib/Number/Phone/StubCountry/NG.pm index e373db385ee9e8b5342d8c61a77c332c4e4d0daf..11bca375e39149a81e67c39872399b2148255fd0 100644 --- a/lib/Number/Phone/StubCountry/NG.pm +++ b/lib/Number/Phone/StubCountry/NG.pm @@ -22,18 +22,18 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', 'leading_digits' => ' [12]| 9(?: 0[3-9]| [1-9] ) - ' + ', + 'pattern' => '(\\d)(\\d{3})(\\d{3,4})' }, { 'leading_digits' => ' @@ -47,12 +47,12 @@ my $formatters = [ 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'leading_digits' => ' 70| 8[01]| - 90[2357-9] - ' + 90[235-9] + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})' }, { 'pattern' => '([78]00)(\\d{4})(\\d{4,5})', @@ -63,13 +63,67 @@ my $formatters = [ 'pattern' => '([78]00)(\\d{5})(\\d{5,6})' }, { - 'leading_digits' => '78', - 'pattern' => '(78)(\\d{2})(\\d{3})' + 'pattern' => '(78)(\\d{2})(\\d{3})', + 'leading_digits' => '78' } ]; my $validators = { + 'fixed_line' => ' + [12]\\d{6,7}| + 9(?: + 0[3-9]| + [1-9]\\d + )\\d{5}| + (?: + 3\\d| + 4[023568]| + 5[02368]| + 6[02-469]| + 7[4-69]| + 8[2-9] + )\\d{6}| + (?: + 4[47]| + 5[14579]| + 6[1578]| + 7[0-357] + )\\d{5,6}| + (?: + 78| + 41 + )\\d{5} + ', + 'pager' => '', + 'voip' => '', 'toll_free' => '800\\d{7,11}', + 'geographic' => ' + [12]\\d{6,7}| + 9(?: + 0[3-9]| + [1-9]\\d + )\\d{5}| + (?: + 3\\d| + 4[023568]| + 5[02368]| + 6[02-469]| + 7[4-69]| + 8[2-9] + )\\d{6}| + (?: + 4[47]| + 5[14579]| + 6[1578]| + 7[0-357] + )\\d{5,6}| + (?: + 78| + 41 + )\\d{5} + ', + 'personal_number' => '', + 'specialrate' => '(700\\d{7,11})', 'mobile' => ' (?: 1(?: @@ -158,63 +212,9 @@ my $validators = { 9[01] ) )| - 90[2357-9]\\d + 90[235-9]\\d )\\d{6} - ', - 'voip' => '', - 'fixed_line' => ' - [12]\\d{6,7}| - 9(?: - 0[3-9]| - [1-9]\\d - )\\d{5}| - (?: - 3\\d| - 4[023568]| - 5[02368]| - 6[02-469]| - 7[4-69]| - 8[2-9] - )\\d{6}| - (?: - 4[47]| - 5[14579]| - 6[1578]| - 7[0-357] - )\\d{5,6}| - (?: - 78| - 41 - )\\d{5} - ', - 'geographic' => ' - [12]\\d{6,7}| - 9(?: - 0[3-9]| - [1-9]\\d - )\\d{5}| - (?: - 3\\d| - 4[023568]| - 5[02368]| - 6[02-469]| - 7[4-69]| - 8[2-9] - )\\d{6}| - (?: - 4[47]| - 5[14579]| - 6[1578]| - 7[0-357] - )\\d{5,6}| - (?: - 78| - 41 - )\\d{5} - ', - 'specialrate' => '(700\\d{7,11})', - 'personal_number' => '', - 'pager' => '' + ' }; my %areanames = ( 2341 => "Lagos", diff --git a/lib/Number/Phone/StubCountry/NI.pm b/lib/Number/Phone/StubCountry/NI.pm index 6ad170ccbf6c537e9b11116aad0adef5de96590a..d8b65c1bc1c7748fc2f1c29ee8ed03fef98d7572 100644 --- a/lib/Number/Phone/StubCountry/NI.pm +++ b/lib/Number/Phone/StubCountry/NI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,6 +31,9 @@ my $formatters = [ ]; my $validators = { + 'personal_number' => '', + 'geographic' => '2\\d{7}', + 'toll_free' => '1800\\d{4}', 'mobile' => ' 5(?: 5[0-7]\\d{5}| @@ -39,13 +42,10 @@ my $validators = { 7[5-8]\\d{6}| 8\\d{7} ', - 'toll_free' => '1800\\d{4}', + 'specialrate' => '', 'fixed_line' => '2\\d{7}', - 'geographic' => '2\\d{7}', 'voip' => '', - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '' + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NL.pm b/lib/Number/Phone/StubCountry/NL.pm index c3ecb9a83fbb1d1881423d8c21186696b805d63c..83893c4dce64e629141acc4c87d00bdcae4a4761 100644 --- a/lib/Number/Phone/StubCountry/NL.pm +++ b/lib/Number/Phone/StubCountry/NL.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([1-578]\\d)(\\d{3})(\\d{4})', 'leading_digits' => ' 1[035]| 2[0346]| @@ -35,43 +34,42 @@ my $formatters = [ 5[0358]| 7| 8[4578] - ' + ', + 'pattern' => '([1-578]\\d)(\\d{3})(\\d{4})' }, { + 'pattern' => '([1-5]\\d{2})(\\d{3})(\\d{3})', 'leading_digits' => ' 1[16-8]| 2[259]| 3[124]| 4[17-9]| 5[124679] - ', - 'pattern' => '([1-5]\\d{2})(\\d{3})(\\d{3})' + ' }, { 'leading_digits' => '6[0-57-9]', 'pattern' => '(6)(\\d{8})' }, { - 'leading_digits' => '66', - 'pattern' => '(66)(\\d{7})' + 'pattern' => '(66)(\\d{7})', + 'leading_digits' => '66' }, { - 'pattern' => '(14)(\\d{3,4})', - 'leading_digits' => '14' + 'leading_digits' => '14', + 'pattern' => '(14)(\\d{3,4})' }, { - 'pattern' => '([89]0\\d)(\\d{4,7})', 'leading_digits' => ' 80| 9 - ' + ', + 'pattern' => '([89]0\\d)(\\d{4,7})' } ]; my $validators = { - 'mobile' => '6[1-58]\\d{7}', - 'toll_free' => '800\\d{4,7}', - 'geographic' => ' + 'fixed_line' => ' (?: 1[0135-8]| 2[02-69]| @@ -81,7 +79,15 @@ my $validators = { 8[478] )\\d{7} ', - 'fixed_line' => ' + 'pager' => '66\\d{7}', + 'voip' => ' + (?: + 6760| + 85\\d{2} + )\\d{5} + ', + 'toll_free' => '800\\d{4,7}', + 'geographic' => ' (?: 1[0135-8]| 2[02-69]| @@ -91,12 +97,8 @@ my $validators = { 8[478] )\\d{7} ', - 'voip' => ' - (?: - 6760| - 85\\d{2} - )\\d{5} - ', + 'personal_number' => '', + 'mobile' => '6[1-58]\\d{7}', 'specialrate' => '(90[069]\\d{4,7})|( 140(?: 1(?: @@ -122,9 +124,7 @@ my $validators = { 7\\d| 8[458] ) - )', - 'personal_number' => '', - 'pager' => '66\\d{7}' + )' }; my %areanames = ( 3110 => "Rotterdam", diff --git a/lib/Number/Phone/StubCountry/NO.pm b/lib/Number/Phone/StubCountry/NO.pm index bf78afb144dd5ca13f02914da98c36a5ad8ddf6f..89453f0af7611502530c21ea4a407fb35ec1445d 100644 --- a/lib/Number/Phone/StubCountry/NO.pm +++ b/lib/Number/Phone/StubCountry/NO.pm @@ -22,21 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[489]', - 'pattern' => '([489]\\d{2})(\\d{2})(\\d{3})' + 'pattern' => '([489]\\d{2})(\\d{2})(\\d{3})', + 'leading_digits' => '[489]' }, { - 'leading_digits' => '[235-7]', - 'pattern' => '([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '[235-7]' } ]; my $validators = { - 'voip' => '85[0-5]\\d{5}', 'fixed_line' => ' (?: 2[1-4]| @@ -46,6 +45,9 @@ my $validators = { 7[0-8] )\\d{6} ', + 'voip' => '85[0-5]\\d{5}', + 'pager' => '', + 'personal_number' => '880\\d{5}', 'geographic' => ' (?: 2[1-4]| @@ -54,18 +56,8 @@ my $validators = { 6[1-4679]| 7[0-8] )\\d{6} - ', - 'mobile' => ' - (?: - 4[015-8]| - 5[89]| - 87| - 9\\d - )\\d{6} ', 'toll_free' => '80[01]\\d{5}', - 'pager' => '', - 'personal_number' => '880\\d{5}', 'specialrate' => '( 810(?: 0[0-6]| @@ -80,7 +72,15 @@ my $validators = { )| 5\\d{2} )\\d{3} - )' + )', + 'mobile' => ' + (?: + 4[015-8]| + 5[89]| + 87| + 9\\d + )\\d{6} + ' }; my %areanames = ( 472 => "Oslo", diff --git a/lib/Number/Phone/StubCountry/NP.pm b/lib/Number/Phone/StubCountry/NP.pm index 6855cb10db76edbc72fa41a369d1c2b30f49b019..19c4e7d9dafa91bf53b359f9d244158b9945c827 100644 --- a/lib/Number/Phone/StubCountry/NP.pm +++ b/lib/Number/Phone/StubCountry/NP.pm @@ -22,14 +22,15 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(1)(\\d{7})', - 'leading_digits' => '1[2-6]' + 'leading_digits' => '1[2-6]', + 'pattern' => '(1)(\\d{7})' }, { + 'pattern' => '(\\d{2})(\\d{6})', 'leading_digits' => ' 1[01]| [2-8]| @@ -37,23 +38,22 @@ my $formatters = [ [1-69]| 7[15-9] ) - ', - 'pattern' => '(\\d{2})(\\d{6})' + ' }, { - 'pattern' => '(9\\d{2})(\\d{7})', 'leading_digits' => ' 9(?: 6[013]| 7[245]| 8 ) - ' + ', + 'pattern' => '(9\\d{2})(\\d{7})' } ]; my $validators = { - 'geographic' => ' + 'fixed_line' => ' (?: 1[0-6]\\d| 2[13-79][2-6]| @@ -66,7 +66,10 @@ my $validators = { 9[1-79][2-6] )\\d{5} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' (?: 1[0-6]\\d| 2[13-79][2-6]| @@ -79,18 +82,15 @@ my $validators = { 9[1-79][2-6] )\\d{5} ', - 'voip' => '', + 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' 9(?: 6[013]| 7[245]| 8[0-24-6] )\\d{7} - ', - 'toll_free' => '', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NR.pm b/lib/Number/Phone/StubCountry/NR.pm index c99e408e2332326231319b1fdd20041f8af5acfd..37db7f81cd2d9f30b2cc232eadf5f63f0484a704 100644 --- a/lib/Number/Phone/StubCountry/NR.pm +++ b/lib/Number/Phone/StubCountry/NR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,24 +31,24 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', 'pager' => '', - 'specialrate' => '', + 'voip' => '', 'fixed_line' => ' (?: 444| 888 )\\d{4} ', + 'specialrate' => '', + 'mobile' => '55[5-9]\\d{4}', 'geographic' => ' (?: 444| 888 )\\d{4} ', - 'voip' => '', - 'toll_free' => '', - 'mobile' => '55[5-9]\\d{4}' + 'personal_number' => '', + 'toll_free' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NU.pm b/lib/Number/Phone/StubCountry/NU.pm index 1063735cbb7276422e36e273416a9a7ec01d4de2..58a80451909291cf6a7bf51fcc1ec1b26e749a7f 100644 --- a/lib/Number/Phone/StubCountry/NU.pm +++ b/lib/Number/Phone/StubCountry/NU.pm @@ -22,19 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'personal_number' => '', - 'pager' => '', 'specialrate' => '', - 'voip' => '', - 'geographic' => '[34]\\d{3}', - 'fixed_line' => '[34]\\d{3}', 'mobile' => '[125]\\d{3}', - 'toll_free' => '' + 'toll_free' => '', + 'personal_number' => '', + 'geographic' => '[34]\\d{3}', + 'voip' => '', + 'pager' => '', + 'fixed_line' => '[34]\\d{3}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/NZ.pm b/lib/Number/Phone/StubCountry/NZ.pm index fa1430672c0d8c78ae3bf63f0db2233f7cdb6779..e3126b8f3b96d85108993bd39dfe6dc2faf2b814 100644 --- a/lib/Number/Phone/StubCountry/NZ.pm +++ b/lib/Number/Phone/StubCountry/NZ.pm @@ -22,24 +22,24 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([34679])(\\d{3})(\\d{4})', 'leading_digits' => ' [346]| 7[2-57-9]| 9[1-9] - ' + ', + 'pattern' => '([34679])(\\d{3})(\\d{4})' }, { 'pattern' => '(24099)(\\d{3})', 'leading_digits' => '24099' }, { - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', - 'leading_digits' => '21' + 'leading_digits' => '21', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' }, { 'leading_digits' => ' @@ -71,6 +71,21 @@ my $formatters = [ ]; my $validators = { + 'geographic' => ' + (?: + 3[2-79]| + [49][2-9]| + 6[235-9]| + 7[2-57-9] + )\\d{6}| + 24099\\d{3} + ', + 'personal_number' => '70\\d{7}', + 'toll_free' => ' + 508\\d{6,7}| + 80\\d{6,8} + ', + 'specialrate' => '(90\\d{7,9})', 'mobile' => ' 2(?: [028]\\d{7,8}| @@ -81,10 +96,6 @@ my $validators = { )| [79]\\d{7} ) - ', - 'toll_free' => ' - 508\\d{6,7}| - 80\\d{6,8} ', 'fixed_line' => ' (?: @@ -95,19 +106,8 @@ my $validators = { )\\d{6}| 24099\\d{3} ', - 'geographic' => ' - (?: - 3[2-79]| - [49][2-9]| - 6[235-9]| - 7[2-57-9] - )\\d{6}| - 24099\\d{3} - ', - 'voip' => '', - 'specialrate' => '(90\\d{7,9})', 'pager' => '[28]6\\d{6,7}', - 'personal_number' => '70\\d{7}' + 'voip' => '' }; my %areanames = ( 642409 => "Scott\ Base", diff --git a/lib/Number/Phone/StubCountry/OM.pm b/lib/Number/Phone/StubCountry/OM.pm index a394081c71d12375c0e6bb1ae4f7cb6ed5d1440f..a78e89635cbea01cf28723d55dc70c45dffee1ce 100644 --- a/lib/Number/Phone/StubCountry/OM.pm +++ b/lib/Number/Phone/StubCountry/OM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,23 +30,23 @@ my $formatters = [ 'pattern' => '(2\\d)(\\d{6})' }, { - 'leading_digits' => '[79]', - 'pattern' => '([79]\\d{3})(\\d{4})' + 'pattern' => '([79]\\d{3})(\\d{4})', + 'leading_digits' => '[79]' }, { - 'pattern' => '([58]00)(\\d{4,6})', - 'leading_digits' => '[58]' + 'leading_digits' => '[58]', + 'pattern' => '([58]00)(\\d{4,6})' } ]; my $validators = { - 'fixed_line' => '2[2-6]\\d{6}', 'geographic' => '2[2-6]\\d{6}', - 'voip' => '', + 'personal_number' => '', 'toll_free' => ' 8007\\d{4,5}| 500\\d{4} ', + 'specialrate' => '(900\\d{5})', 'mobile' => ' 7[19]\\d{6}| 9(?: @@ -54,9 +54,9 @@ my $validators = { [1-9]\\d )\\d{5} ', - 'personal_number' => '', + 'fixed_line' => '2[2-6]\\d{6}', 'pager' => '', - 'specialrate' => '(900\\d{5})' + 'voip' => '' }; my %areanames = ( 96823 => "Dhofar\ \&\ Al\ Wusta", diff --git a/lib/Number/Phone/StubCountry/PA.pm b/lib/Number/Phone/StubCountry/PA.pm index 57621f8dfbe527f9c496b4dd0b52f6f38d8ab4ea..3155ea673fbe3104e3617d481ebc8c72c19dd91b 100644 --- a/lib/Number/Phone/StubCountry/PA.pm +++ b/lib/Number/Phone/StubCountry/PA.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[1-57-9]', - 'pattern' => '(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{4})', + 'leading_digits' => '[1-57-9]' }, { 'leading_digits' => '6', @@ -50,9 +50,6 @@ my $validators = { ) )\\d{4} )', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '80[09]\\d{4}', 'mobile' => ' (?: 1[16]1| @@ -68,6 +65,7 @@ my $validators = { 3[0-24-9] )\\d{5} ', + 'toll_free' => '80[09]\\d{4}', 'geographic' => ' (?: 1(?: @@ -139,6 +137,9 @@ my $validators = { ) )\\d{4} ', + 'personal_number' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 1(?: @@ -209,8 +210,7 @@ my $validators = { 9[1-9] ) )\\d{4} - ', - 'voip' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PE.pm b/lib/Number/Phone/StubCountry/PE.pm index 447deb5e63176fc865b1b665e8e7ef506ea9ab67..6e77b2a772d04c4f286a39b9f8e2166f61226417 100644 --- a/lib/Number/Phone/StubCountry/PE.pm +++ b/lib/Number/Phone/StubCountry/PE.pm @@ -22,36 +22,32 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(1)(\\d{7})', - 'leading_digits' => '1' + 'leading_digits' => '1', + 'pattern' => '(1)(\\d{7})' }, { + 'pattern' => '([4-8]\\d)(\\d{6})', 'leading_digits' => ' [4-7]| 8[2-4] - ', - 'pattern' => '([4-8]\\d)(\\d{6})' + ' }, { 'leading_digits' => '80', 'pattern' => '(\\d{3})(\\d{5})' }, { - 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})', - 'leading_digits' => '9' + 'leading_digits' => '9', + 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})' } ]; my $validators = { - 'personal_number' => '80[24]\\d{5}', - 'pager' => '', - 'specialrate' => '(801\\d{5})|(805\\d{5})', - 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' (?: 1\\d| 4[1-4]| @@ -61,7 +57,10 @@ my $validators = { 8[2-4] )\\d{6} ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '', + 'toll_free' => '800\\d{5}', + 'geographic' => ' (?: 1\\d| 4[1-4]| @@ -71,7 +70,8 @@ my $validators = { 8[2-4] )\\d{6} ', - 'toll_free' => '800\\d{5}', + 'personal_number' => '80[24]\\d{5}', + 'specialrate' => '(801\\d{5})|(805\\d{5})', 'mobile' => '9\\d{8}' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/PF.pm b/lib/Number/Phone/StubCountry/PF.pm index 442c387b01f46469f1876dcffa4f4945e711ddff..6f7836ca263a08053b8d61485757f2f53cec9583 100644 --- a/lib/Number/Phone/StubCountry/PF.pm +++ b/lib/Number/Phone/StubCountry/PF.pm @@ -22,41 +22,41 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'leading_digits' => ' 4[09]| 8[79] - ' + ', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' }, { - 'leading_digits' => '44', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '44' } ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', 'pager' => '', - 'toll_free' => '', - 'mobile' => '8[79]\\d{6}', 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' 4(?: [09][45689]\\d| 4 )\\d{4} ', - 'fixed_line' => ' + 'specialrate' => '', + 'mobile' => '8[79]\\d{6}', + 'toll_free' => '', + 'geographic' => ' 4(?: [09][45689]\\d| 4 )\\d{4} - ' + ', + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PG.pm b/lib/Number/Phone/StubCountry/PG.pm index b7ae2d90da4d1d479d50d4d94cc9734c29b3cd33..5286ba3749fadba7317f7c3cd8e7b01a64cbdc3e 100644 --- a/lib/Number/Phone/StubCountry/PG.pm +++ b/lib/Number/Phone/StubCountry/PG.pm @@ -22,30 +22,32 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{3})(\\d{4})', 'leading_digits' => ' [13-689]| 27 - ' + ', + 'pattern' => '(\\d{3})(\\d{4})' }, { + 'pattern' => '(\\d{4})(\\d{4})', 'leading_digits' => ' 20| 7 - ', - 'pattern' => '(\\d{4})(\\d{4})' + ' } ]; my $validators = { + 'voip' => '27[568]\\d{4}', + 'pager' => '', 'fixed_line' => ' (?: 3[0-2]\\d| - 4[25]\\d| + 4[257]\\d| 5[34]\\d| 64[1-9]| 77(?: @@ -56,10 +58,22 @@ my $validators = { 9[78]\\d )\\d{4} ', + 'specialrate' => '', + 'mobile' => ' + (?: + 20150| + 68\\d{2}| + 7(?: + [0-689]\\d| + 75 + )\\d{2} + )\\d{3} + ', + 'personal_number' => '', 'geographic' => ' (?: 3[0-2]\\d| - 4[25]\\d| + 4[257]\\d| 5[34]\\d| 64[1-9]| 77(?: @@ -70,28 +84,16 @@ my $validators = { 9[78]\\d )\\d{4} ', - 'voip' => '27[568]\\d{4}', - 'mobile' => ' - (?: - 20150| - 68\\d{2}| - 7(?: - [0-689]\\d| - 75 - )\\d{2} - )\\d{3} - ', - 'toll_free' => '180\\d{4}', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + 'toll_free' => '180\\d{4}' }; - +my %areanames = ( + 67547 => "Morobe", +); sub new { my $class = shift; my $number = shift; $number =~ s/(^\+675|\D)//g; - my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + my $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self->is_valid() ? $self : undef; } 1; \ No newline at end of file diff --git a/lib/Number/Phone/StubCountry/PH.pm b/lib/Number/Phone/StubCountry/PH.pm index 3c25c0c240e12c31931e0f925af3559348880222..6b6b60f783ecfc86a53e108e2fae4e2e8399065a 100644 --- a/lib/Number/Phone/StubCountry/PH.pm +++ b/lib/Number/Phone/StubCountry/PH.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,8 +30,8 @@ my $formatters = [ 'pattern' => '(2)(\\d{3})(\\d{4})' }, { - 'pattern' => '(2)(\\d{5})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(2)(\\d{5})' }, { 'leading_digits' => ' @@ -70,6 +70,7 @@ my $formatters = [ 'pattern' => '(\\d{4})(\\d{4,6})' }, { + 'pattern' => '(\\d{5})(\\d{4})', 'leading_digits' => ' 3469| 4(?: @@ -80,19 +81,18 @@ my $formatters = [ ) )| 8834 - ', - 'pattern' => '(\\d{5})(\\d{4})' + ' }, { 'pattern' => '([3-8]\\d)(\\d{3})(\\d{4})', 'leading_digits' => '[3-8]' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 81| 9 - ' + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' }, { 'leading_digits' => '1', @@ -105,24 +105,6 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '1800\\d{7,9}', - 'mobile' => ' - (?: - 81[37]| - 9(?: - 0[5-9]| - 1[024-9]| - 2[0-35-9]| - 3[02-9]| - 4[236-9]| - 5[056]| - 7[34-79]| - 89| - 9[4-9] - ) - )\\d{7} - ', - 'voip' => '', 'fixed_line' => ' 2\\d{5}(?:\\d{2})?| (?: @@ -138,6 +120,10 @@ my $validators = { 42\\d{4} ) ', + 'voip' => '', + 'pager' => '', + 'toll_free' => '1800\\d{7,9}', + 'personal_number' => '', 'geographic' => ' 2\\d{5}(?:\\d{2})?| (?: @@ -153,9 +139,24 @@ my $validators = { 42\\d{4} ) ', - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '' + 'mobile' => ' + (?: + 81[37]| + 9(?: + 0[5-9]| + 1[024-9]| + 2[0-35-9]| + 3[02-9]| + 4[235-9]| + 5[056]| + 6[5-7]| + 7[34-79]| + 89| + 9[4-9] + ) + )\\d{7} + ', + 'specialrate' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PK.pm b/lib/Number/Phone/StubCountry/PK.pm index abc5264d64e59a13dfb062b2fd30657ad6aaf72a..0b5bbe270871e18a0c855ec106bc6450689baf99 100644 --- a/lib/Number/Phone/StubCountry/PK.pm +++ b/lib/Number/Phone/StubCountry/PK.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(111)(\\d{3})(\\d{3})', 'leading_digits' => ' (?: 2[125]| @@ -37,7 +36,8 @@ my $formatters = [ 8[16]| 91 )111 - ' + ', + 'pattern' => '(\\d{2})(111)(\\d{3})(\\d{3})' }, { 'leading_digits' => ' @@ -54,6 +54,7 @@ my $formatters = [ 'pattern' => '(\\d{3})(111)(\\d{3})(\\d{3})' }, { + 'pattern' => '(\\d{2})(\\d{7,8})', 'leading_digits' => ' (?: 2[125]| @@ -64,8 +65,7 @@ my $formatters = [ 8[16]| 91 )[2-9] - ', - 'pattern' => '(\\d{2})(\\d{7,8})' + ' }, { 'pattern' => '(\\d{3})(\\d{6,7})', @@ -82,15 +82,15 @@ my $formatters = [ ' }, { - 'leading_digits' => '3', - 'pattern' => '(3\\d{2})(\\d{7})' + 'pattern' => '(3\\d{2})(\\d{7})', + 'leading_digits' => '3' }, { - 'pattern' => '([15]\\d{3})(\\d{5,6})', 'leading_digits' => ' 58[12]| 1 - ' + ', + 'pattern' => '([15]\\d{3})(\\d{5,6})' }, { 'pattern' => '(586\\d{2})(\\d{5})', @@ -103,7 +103,6 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '800\\d{5}', 'mobile' => ' 3(?: [014]\\d| @@ -113,7 +112,48 @@ my $validators = { 64 )\\d{7} ', - 'voip' => '', + 'specialrate' => '(900\\d{5})|( + (?: + 2(?: + [125]| + 3[2358]| + 4[2-4]| + 9[2-8] + )| + 4(?: + [0-246-9]| + 5[3479] + )| + 5(?: + [1-35-7]| + 4[2-467] + )| + 6(?: + [1-8]| + 0[468] + )| + 7(?: + [14]| + 2[236] + )| + 8(?: + [16]| + 2[2-689]| + 3[23578]| + 4[3478]| + 5[2356] + )| + 9(?: + 1| + 22| + 3[27-9]| + 4[2-6]| + 6[3569]| + 9[2-7] + ) + )111\\d{6} + )', + 'toll_free' => '800\\d{5}', 'geographic' => ' (?: 21| @@ -154,6 +194,9 @@ my $validators = { )[2-9]\\d{5,6}| 58[126]\\d{7} ', + 'personal_number' => '122\\d{6}', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 21| @@ -193,50 +236,7 @@ my $validators = { ) )[2-9]\\d{5,6}| 58[126]\\d{7} - ', - 'specialrate' => '(900\\d{5})|( - (?: - 2(?: - [125]| - 3[2358]| - 4[2-4]| - 9[2-8] - )| - 4(?: - [0-246-9]| - 5[3479] - )| - 5(?: - [1-35-7]| - 4[2-467] - )| - 6(?: - [1-8]| - 0[468] - )| - 7(?: - [14]| - 2[236] - )| - 8(?: - [16]| - 2[2-689]| - 3[23578]| - 4[3478]| - 5[2356] - )| - 9(?: - 1| - 22| - 3[27-9]| - 4[2-6]| - 6[3569]| - 9[2-7] - ) - )111\\d{6} - )', - 'pager' => '', - 'personal_number' => '122\\d{6}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PL.pm b/lib/Number/Phone/StubCountry/PL.pm index 4a54564aa56f16f446aab5a48e2e34e1dc1af44d..ff310af34dca829f5960dc993b826bf0d985df7e 100644 --- a/lib/Number/Phone/StubCountry/PL.pm +++ b/lib/Number/Phone/StubCountry/PL.pm @@ -22,11 +22,10 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'leading_digits' => ' [14]| 2[0-57-9]| @@ -36,13 +35,15 @@ my $formatters = [ 7[14-7]| 8[1-79]| 9[145] - ' + ', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})' }, { 'leading_digits' => '[12]2', 'pattern' => '(\\d{2})(\\d{1})(\\d{4})' }, { + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'leading_digits' => ' 26| 39| @@ -50,30 +51,21 @@ my $formatters = [ 6[0469]| 7[02389]| 8[08] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' + ' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', - 'leading_digits' => '64' + 'leading_digits' => '64', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})' }, { - 'leading_digits' => '64', - 'pattern' => '(\\d{3})(\\d{3})' + 'pattern' => '(\\d{3})(\\d{3})', + 'leading_digits' => '64' } ]; my $validators = { - 'mobile' => ' - (?: - 5[0137]| - 6[069]| - 7[2389]| - 88 - )\\d{7} - ', - 'toll_free' => '800\\d{6}', 'voip' => '39\\d{7}', + 'pager' => '64\\d{4,7}', 'fixed_line' => ' (?: 1[2-8]| @@ -88,6 +80,16 @@ my $validators = { )\\d{7}| [12]2\\d{5} ', + 'specialrate' => '(801\\d{6})|(70\\d{7})', + 'mobile' => ' + (?: + 5[0137]| + 6[069]| + 7[2389]| + 88 + )\\d{7} + ', + 'personal_number' => '', 'geographic' => ' (?: 1[2-8]| @@ -102,9 +104,7 @@ my $validators = { )\\d{7}| [12]2\\d{5} ', - 'specialrate' => '(801\\d{6})|(70\\d{7})', - 'personal_number' => '', - 'pager' => '64\\d{4,7}' + 'toll_free' => '800\\d{6}' }; my %areanames = ( 4812 => "Kraków", diff --git a/lib/Number/Phone/StubCountry/PM.pm b/lib/Number/Phone/StubCountry/PM.pm index eb89a1d07132b1ced541dcfff8ff630a0cfaf692..86ae88ab9606575067f65b383920813797d4aec4 100644 --- a/lib/Number/Phone/StubCountry/PM.pm +++ b/lib/Number/Phone/StubCountry/PM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,14 +31,14 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => '41\\d{4}', - 'geographic' => '41\\d{4}', + 'pager' => '', 'voip' => '', + 'fixed_line' => '41\\d{4}', + 'specialrate' => '', 'mobile' => '55\\d{4}', 'toll_free' => '', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + 'geographic' => '41\\d{4}', + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PR.pm b/lib/Number/Phone/StubCountry/PR.pm index d54bb315db72055cb8685bf9aad5643e7acee761..9efeb5200339ff0af9e0b325e64e2d4c1976f74b 100644 --- a/lib/Number/Phone/StubCountry/PR.pm +++ b/lib/Number/Phone/StubCountry/PR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -35,17 +35,7 @@ my $formatters = [ my $validators = { 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', + 'voip' => '', 'specialrate' => '(900[2-9]\\d{6})', 'geographic' => '( (?: @@ -58,10 +48,21 @@ my $validators = { 939 )[2-9]\\d{6} )', - 'voip' => '', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| diff --git a/lib/Number/Phone/StubCountry/PS.pm b/lib/Number/Phone/StubCountry/PS.pm index be0d67a86afcc7b68367b12d05a46f7836cc7fd8..4c93340551523e968d84df3b3d36b123bf64ef74 100644 --- a/lib/Number/Phone/StubCountry/PS.pm +++ b/lib/Number/Phone/StubCountry/PS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -40,16 +40,8 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '5[69]\\d{7}', - 'toll_free' => '1800\\d{6}', - 'geographic' => ' - (?: - 22[234789]| - 42[45]| - 82[01458]| - 92[369] - )\\d{5} - ', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 22[234789]| @@ -58,15 +50,23 @@ my $validators = { 92[369] )\\d{5} ', - 'voip' => '', + 'mobile' => '5[69]\\d{7}', 'specialrate' => '(1700\\d{6})|( 1(?: 4| 9\\d )\\d{2} )', - 'pager' => '', - 'personal_number' => '' + 'geographic' => ' + (?: + 22[234789]| + 42[45]| + 82[01458]| + 92[369] + )\\d{5} + ', + 'personal_number' => '', + 'toll_free' => '1800\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/PT.pm b/lib/Number/Phone/StubCountry/PT.pm index b7facce5767c9588bf469e5c548770c148f9728e..dde9a31198ef6a4eecced28b7b1b47e24d9d2a71 100644 --- a/lib/Number/Phone/StubCountry/PT.pm +++ b/lib/Number/Phone/StubCountry/PT.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(2\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '2[12]' + 'leading_digits' => '2[12]', + 'pattern' => '(2\\d)(\\d{3})(\\d{4})' }, { 'leading_digits' => ' @@ -39,31 +39,6 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '884[0-4689]\\d{5}', - 'specialrate' => '( - 80(?: - 8\\d| - 9[1579] - )\\d{5} - )|( - 6(?: - 0[178]| - 4[68] - )\\d{6}| - 76(?: - 0[1-57]| - 1[2-47]| - 2[237] - )\\d{5} - )|( - 7(?: - 0(?: - 7\\d| - 8[17] - ) - )\\d{5} - )', 'fixed_line' => ' 2(?: [12]\\d| @@ -75,6 +50,9 @@ my $validators = { 9[1256] )\\d{6} ', + 'voip' => '30\\d{7}', + 'pager' => '', + 'personal_number' => '884[0-4689]\\d{5}', 'geographic' => ' 2(?: [12]\\d| @@ -86,14 +64,36 @@ my $validators = { 9[1256] )\\d{6} ', - 'voip' => '30\\d{7}', 'toll_free' => '80[02]\\d{6}', 'mobile' => ' 9(?: [1236]\\d{2}| 480 )\\d{5} - ' + ', + 'specialrate' => '( + 80(?: + 8\\d| + 9[1579] + )\\d{5} + )|( + 6(?: + 0[178]| + 4[68] + )\\d{6}| + 76(?: + 0[1-57]| + 1[2-47]| + 2[237] + )\\d{5} + )|( + 7(?: + 0(?: + 7\\d| + 8[17] + ) + )\\d{5} + )' }; my %areanames = ( 35121 => "Lisbon", diff --git a/lib/Number/Phone/StubCountry/PW.pm b/lib/Number/Phone/StubCountry/PW.pm index 88639b06695f10f70c4822a5daae4570f65a566f..55b21884922609bdfd5f7e6054a70f0e8cd065b7 100644 --- a/lib/Number/Phone/StubCountry/PW.pm +++ b/lib/Number/Phone/StubCountry/PW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,17 +31,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '', - 'toll_free' => '', - 'mobile' => ' - (?: - 6[234689]0| - 77[45789] - )\\d{4} - ', - 'voip' => '', 'fixed_line' => ' 2552255| (?: @@ -69,6 +58,8 @@ my $validators = { ) )\\d{4} ', + 'pager' => '', + 'voip' => '', 'geographic' => ' 2552255| (?: @@ -95,6 +86,15 @@ my $validators = { 76 ) )\\d{4} + ', + 'personal_number' => '', + 'toll_free' => '', + 'specialrate' => '', + 'mobile' => ' + (?: + 6[234689]0| + 77[45789] + )\\d{4} ' }; diff --git a/lib/Number/Phone/StubCountry/PY.pm b/lib/Number/Phone/StubCountry/PY.pm index 4cea7a4b515199fac2ce82a16ad678b085dd1d6d..f9252b0ad341a77bcc2f672b34789d01ef429841 100644 --- a/lib/Number/Phone/StubCountry/PY.pm +++ b/lib/Number/Phone/StubCountry/PY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -54,16 +54,16 @@ my $formatters = [ 'leading_digits' => '[2-9]0' }, { - 'leading_digits' => '9[1-9]', - 'pattern' => '(\\d{3})(\\d{6})' + 'pattern' => '(\\d{3})(\\d{6})', + 'leading_digits' => '9[1-9]' }, { 'leading_digits' => '8700', 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' }, { - 'pattern' => '(\\d{3})(\\d{4,5})', - 'leading_digits' => '[2-8][1-9]' + 'leading_digits' => '[2-8][1-9]', + 'pattern' => '(\\d{3})(\\d{4,5})' }, { 'leading_digits' => '[2-8][1-9]', @@ -72,10 +72,6 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '([2-9]0\\d{4,7})', - 'voip' => '8700[0-4]\\d{4}', 'fixed_line' => ' (?: [26]1| @@ -124,6 +120,10 @@ my $validators = { 858 )\\d{5,6} ', + 'voip' => '8700[0-4]\\d{4}', + 'pager' => '', + 'toll_free' => '', + 'personal_number' => '', 'geographic' => ' (?: [26]1| @@ -179,7 +179,7 @@ my $validators = { 9[1-5] )\\d{6} ', - 'toll_free' => '' + 'specialrate' => '([2-9]0\\d{4,7})' }; sub new { diff --git a/lib/Number/Phone/StubCountry/QA.pm b/lib/Number/Phone/StubCountry/QA.pm index e85055593baa2df60cb7053d962c1589f62412cf..307501f0d77b25e5d6cfdff5e165b48944b0a02c 100644 --- a/lib/Number/Phone/StubCountry/QA.pm +++ b/lib/Number/Phone/StubCountry/QA.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[28]', - 'pattern' => '([28]\\d{2})(\\d{4})' + 'pattern' => '([28]\\d{2})(\\d{4})', + 'leading_digits' => '[28]' }, { 'leading_digits' => '[3-7]', @@ -36,19 +36,19 @@ my $formatters = [ ]; my $validators = { + 'personal_number' => '', + 'geographic' => '4[04]\\d{6}', + 'toll_free' => '800\\d{4}', 'specialrate' => '', + 'mobile' => '[3567]\\d{7}', + 'fixed_line' => '4[04]\\d{6}', + 'voip' => '', 'pager' => ' 2(?: [12]\\d| 61 )\\d{4} - ', - 'personal_number' => '', - 'toll_free' => '800\\d{4}', - 'mobile' => '[3567]\\d{7}', - 'geographic' => '4[04]\\d{6}', - 'fixed_line' => '4[04]\\d{6}', - 'voip' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/RE.pm b/lib/Number/Phone/StubCountry/RE.pm index 30131dd0a8adc0765d3e74c9abc3842c79241bc3..2a41c5b80fd31cabbd177097d38c00e6155c3a74 100644 --- a/lib/Number/Phone/StubCountry/RE.pm +++ b/lib/Number/Phone/StubCountry/RE.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,16 +31,7 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '80\\d{7}', - 'mobile' => ' - 6(?: - 9[23]| - 47 - )\\d{6} - ', - 'voip' => '', - 'fixed_line' => '262\\d{6}', - 'geographic' => '262\\d{6}', + 'mobile' => '69[23]\\d{6}', 'specialrate' => '( 8(?: 1[019]| @@ -49,8 +40,12 @@ my $validators = { 90 )\\d{6} )|(89[1-37-9]\\d{6})', + 'geographic' => '262\\d{6}', + 'personal_number' => '', + 'toll_free' => '80\\d{7}', 'pager' => '', - 'personal_number' => '' + 'voip' => '', + 'fixed_line' => '262\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/RO.pm b/lib/Number/Phone/StubCountry/RO.pm index e9abd813b56cc7e297cf2354e174b60b1fbf0d87..871363d99efcc589512f039dffd6f77a4501a2bc 100644 --- a/lib/Number/Phone/StubCountry/RO.pm +++ b/lib/Number/Phone/StubCountry/RO.pm @@ -22,23 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'leading_digits' => '[23]1' + 'leading_digits' => '[23]1', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})' }, { - 'leading_digits' => '21', - 'pattern' => '(21)(\\d{4})' + 'leading_digits' => '[23]1', + 'pattern' => '(\\d{2})(\\d{4})' }, { + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'leading_digits' => ' [23][3-7]| [7-9] - ', - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' + ' }, { 'leading_digits' => '2[3-6]', @@ -47,8 +47,15 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' + 'specialrate' => '(801\\d{6})|(90[036]\\d{6})|(37\\d{7})', + 'mobile' => ' + 7(?: + [0-8]\\d{2}| + 99\\d + )\\d{5} + ', + 'personal_number' => '802\\d{6}', + 'geographic' => ' 2(?: 1(?: \\d{7}| @@ -59,9 +66,15 @@ my $validators = { \\d9\\d{2} ) )| - 3[13-6]\\d{7} + 3(?: + 1\\d{4}(?:\\d{3})?| + [3-6]\\d{7} + ) ', - 'geographic' => ' + 'toll_free' => '800\\d{6}', + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' 2(?: 1(?: \\d{7}| @@ -72,18 +85,11 @@ my $validators = { \\d9\\d{2} ) )| - 3[13-6]\\d{7} - ', - 'toll_free' => '800\\d{6}', - 'mobile' => ' - 7(?: - [0-8]\\d{2}| - 99\\d - )\\d{5} - ', - 'pager' => '', - 'personal_number' => '802\\d{6}', - 'specialrate' => '(801\\d{6})|(90[036]\\d{6})|(37\\d{7})' + 3(?: + 1\\d{4}(?:\\d{3})?| + [3-6]\\d{7} + ) + ' }; my %areanames = ( 4021 => "Bucharest\ and\ Ilfov\ County", diff --git a/lib/Number/Phone/StubCountry/RS.pm b/lib/Number/Phone/StubCountry/RS.pm index 6eda4b28e004b7f3323ce24a7bb064909ee47c51..7351fe608509743cbedb26df48320fe07973a7d6 100644 --- a/lib/Number/Phone/StubCountry/RS.pm +++ b/lib/Number/Phone/StubCountry/RS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -35,6 +35,7 @@ my $formatters = [ ' }, { + 'pattern' => '([1-3]\\d)(\\d{5,10})', 'leading_digits' => ' 1| 2(?: @@ -45,20 +46,19 @@ my $formatters = [ [0-8]| 9[1-9] ) - ', - 'pattern' => '([1-3]\\d)(\\d{5,10})' + ' }, { - 'pattern' => '(6\\d)(\\d{6,8})', - 'leading_digits' => '6' + 'leading_digits' => '6', + 'pattern' => '(6\\d)(\\d{6,8})' }, { - 'pattern' => '([89]\\d{2})(\\d{3,9})', - 'leading_digits' => '[89]' + 'leading_digits' => '[89]', + 'pattern' => '([89]\\d{2})(\\d{3,9})' }, { - 'leading_digits' => '7[26]', - 'pattern' => '(7[26])(\\d{4,9})' + 'pattern' => '(7[26])(\\d{4,9})', + 'leading_digits' => '7[26]' }, { 'leading_digits' => '7[08]', @@ -67,15 +67,19 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', 'specialrate' => '( (?: 90[0169]| 78\\d )\\d{3,7} )|(7[06]\\d{4,10})', - 'voip' => '', + 'mobile' => ' + 6(?: + [0-689]| + 7\\d + )\\d{6,7} + ', + 'personal_number' => '', 'geographic' => ' (?: 1(?: @@ -98,6 +102,9 @@ my $validators = { ) )\\d{3,8} ', + 'toll_free' => '800\\d{3,9}', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 1(?: @@ -119,14 +126,7 @@ my $validators = { ) ) )\\d{3,8} - ', - 'mobile' => ' - 6(?: - [0-689]| - 7\\d - )\\d{6,7} - ', - 'toll_free' => '800\\d{3,9}' + ' }; my %areanames = ( 38110 => "Pirot", diff --git a/lib/Number/Phone/StubCountry/RU.pm b/lib/Number/Phone/StubCountry/RU.pm index 07a9abc05ef23aaa4aa2b7b78eea03696798eab7..ae87d95831ddb41625985c8cf29aac22e568756e 100644 --- a/lib/Number/Phone/StubCountry/RU.pm +++ b/lib/Number/Phone/StubCountry/RU.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -40,9 +40,9 @@ my $formatters = [ ]; my $validators = { - 'mobile' => '9\\d{9}', - 'toll_free' => '80[04]\\d{7}', - 'geographic' => ' + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' (?: 3(?: 0[12]| @@ -71,7 +71,10 @@ my $validators = { ) )\\d{7} ', - 'fixed_line' => ' + 'specialrate' => '(80[39]\\d{7})', + 'mobile' => '9\\d{9}', + 'personal_number' => '', + 'geographic' => ' (?: 3(?: 0[12]| @@ -100,15 +103,12 @@ my $validators = { ) )\\d{7} ', - 'voip' => '', - 'specialrate' => '(80[39]\\d{7})', - 'pager' => '', - 'personal_number' => '' + 'toll_free' => '80[04]\\d{7}' }; my %areanames = ( 7301 => "Republic\ of\ Buryatia", 7302 => "Chita", - 7336 => "Baikonur", + 733622 => "Baikonur", 7341 => "Udmurtian\ Republic", 7342 => "Perm", 7343 => "Ekaterinburg", @@ -169,6 +169,7 @@ my %areanames = ( 771038 => "Shashubai", 771039 => "Priozersk", 771040 => "Zhairem\ \(GOK\)", + 771041 => "Aktau\,\ Zhezkazgan", 771042 => "Zharyk", 771043 => "Zhairem", 771063 => "Satpaev", @@ -188,7 +189,11 @@ my %areanames = ( 771142 => "Taipak", 771143 => "Akzhaik", 771144 => "Kaztalovka", - 771145 => "Karatobe", + 771145 => "Karatobe\ District", + 771146 => "Akzhaiksky\ District", + 771147 => "Akzhaiksky\ District", + 771149 => "Zelenovsky\ District", + 7712 => "Atyrau\ Region", 77122 => "Atyrau", 7712302 => "Tengizshevroil", 7712303 => "Tengizs", @@ -200,7 +205,9 @@ my %areanames = ( 771237 => "Kulsary", 771238 => "Miyaly", 771239 => "Makat", + 7713 => "Aktobe\ Region", 77132 => "Aktobe\/Kargalinskoye", + 771330 => "Khromtau\ District", 771331 => "Martuk", 771332 => "Uil", 771333 => "Kandyagash", @@ -209,11 +216,16 @@ my %areanames = ( 771336 => "Khromtau", 771337 => "Alga", 771339 => "Komsomolskoye", + 771340 => "Khobdinsky\ District", 771341 => "Khobda", 771342 => "Badamsha", 771343 => "Irgiz", 771345 => "Karauylkeldy", 771346 => "Shubarkuduk", + 771347 => "Aitekebisky\ District", + 771348 => "Shalkarsky\ District", + 771349 => "Shalkarsky\ District", + 7714 => "Kostanai\ Region", 77142 => "Kostanai", 771430 => "Arkalyk", 771431 => "Rudny", @@ -222,6 +234,7 @@ my %areanames = ( 771435 => "Zhitikara", 771436 => "Taranovskoye", 771437 => "Kamysty", + 771438 => "Amangeldy", 771439 => "Torgai", 771440 => "Amangeldy", 771441 => "Karabalyk", @@ -229,13 +242,18 @@ my %areanames = ( 771443 => "Borovskoi", 771444 => "Uzunkol", 771445 => "Ubaganskoye", + 771446 => "Uzunkolsky\ District", + 771447 => "Karabalyksky\ District", 771448 => "Oktyabrskoye", + 771449 => "Taranovskoye", 771451 => "Sarykol", 771452 => "Karasu", 771453 => "Auliekol", 771454 => "Karamendy", 771455 => "Zatobolsk", 771456 => "Kachar", + 771457 => "Dzhangildinsky\ District", + 77145834 => "Krasnogorsk", 77152 => "Petropavlovsk", 771531 => "Bulayevo", 771532 => "Smirnovo", @@ -245,11 +263,15 @@ my %areanames = ( 771536 => "Taiynsha", 771537 => "Timiryazevo", 771538 => "Beskol", + 771539 => "Beskol", + 771540 => "Kishkenekol", 771541 => "Mamlutka", 771542 => "Kishkenekol", 771543 => "Yavlenka", 771544 => "Presnovka", + 771545 => "Zhambylsky\ District", 771546 => "Talshik", + 771547 => "Zhambylsky\ District", 77162 => "Kokshetau\/Krasni\ Yar", 771630 => "Burabay", 771631 => "Shortandy", @@ -269,8 +291,10 @@ my %areanames = ( 771646 => "Makinsk", 771647 => "Esil", 771648 => "Derzhavinsk", + 771649 => "Zhaksynsky\ District", 771651 => "Kabanbai\ Batyr", 77172 => "Astana", + 7718 => "Pavlodar\ Region", 77182 => "Pavlodar", 771831 => "Zhelezinka", 771832 => "Irtyshsk", @@ -282,11 +306,16 @@ my %areanames = ( 771839 => "Akku", 771840 => "Bayanaul", 771841 => "Aktogai", - 771845 => "Pavlodar\ area", + 771842 => "Aktogaisky\ District", + 771843 => "Maisky\ District", + 771844 => "Irtyshsky\ District", + 771845 => "Pavlodar\ Area", 77187 => "Ekibastuz", + 7721 => "Karaganda\ Region", 77212 => "Karaganda", 77213 => "Aktau\/Temirtau", 772131 => "Abai", + 772132 => "Nurinsky\ District", 772137 => "Saran", 772138 => "Gabidena\ Mustafina", 772144 => "Kiyevka", @@ -308,6 +337,7 @@ my %areanames = ( 772256 => "Kainar", 772257 => "Shulbinsk", 77232 => "Ust\-Kamenogorsk", + 772330 => "Zyryanovsky\ District", 772331 => "Glubokoye", 772332 => "Shemonaikha", 772333 => "Samarskoye", @@ -328,6 +358,7 @@ my %areanames = ( 772348 => "Kokpekty", 772351 => "Borodulikha", 772353 => "Novaya\ Shulba", + 7724 => "Kyzylorda\ Region", 77242 => "Kyzylorda", 772431 => "Zhalagash", 772432 => "Shiyeli", @@ -336,6 +367,7 @@ my %areanames = ( 772436 => "Terenozek", 772437 => "Zhosaly", 772438 => "Aiteke\ bi", + 772439 => "Aralsky\ District", 77252 => "Shymkent", 772530 => "Temirlanovka", 772531 => "Aksukent", @@ -364,15 +396,18 @@ my %areanames = ( 772637 => "Sarykemer", 772638 => "Tole\ bi", 772639 => "Saudakent", + 772640 => "Moiynkumsky\ District", 772641 => "Akkol", 772642 => "Moiynkum", 772643 => "Shu", 772644 => "Karatau", + 7727 => "Almaty\ Region", 77272 => "Almaty", 772725 => "Otegen\ Batyra", 77272956 => "Talgar", 77272983 => "Kaskelen", 77273 => "Almaty", + 772740 => "Karassaisky\ District", 772752 => "Otegen\ Batyra", 772757 => "Akshi", 772770 => "Uzynagash", @@ -387,6 +422,7 @@ my %areanames = ( 772779 => "Narynkol", 77279 => "Almaty", 77282 => "Taldykorgan", + 772830 => "Alakolsky\ District", 772831 => "Zharkent", 772832 => "Zhansugurov", 772833 => "Usharal", diff --git a/lib/Number/Phone/StubCountry/RW.pm b/lib/Number/Phone/StubCountry/RW.pm index cc5aeb3a0fe9d5d93257c2654c2dc0b5e65b8d68..25584f49e8791c447b5fb60e10f2b132e34360d5 100644 --- a/lib/Number/Phone/StubCountry/RW.pm +++ b/lib/Number/Phone/StubCountry/RW.pm @@ -22,34 +22,34 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})' }, { 'leading_digits' => '[7-9]', 'pattern' => '([7-9]\\d{2})(\\d{3})(\\d{3})' }, { - 'pattern' => '(0\\d)(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '0' + 'leading_digits' => '0', + 'pattern' => '(0\\d)(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { - 'specialrate' => '(900\\d{6})', - 'personal_number' => '', - 'pager' => '', 'mobile' => '7[238]\\d{7}', + 'specialrate' => '(900\\d{6})', 'toll_free' => '800\\d{6}', - 'voip' => '', + 'personal_number' => '', 'geographic' => ' 2[258]\\d{7}| 06\\d{6} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' 2[258]\\d{7}| 06\\d{6} diff --git a/lib/Number/Phone/StubCountry/SA.pm b/lib/Number/Phone/StubCountry/SA.pm index 0f12d8180e8958298578049e4270896a63813fd3..d6de1daa6ccec03405fa2d1357fc4c7bb99f5e3b 100644 --- a/lib/Number/Phone/StubCountry/SA.pm +++ b/lib/Number/Phone/StubCountry/SA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,12 +34,12 @@ my $formatters = [ 'leading_digits' => '1[1-467]' }, { - 'leading_digits' => '5', - 'pattern' => '(5\\d)(\\d{3})(\\d{4})' + 'pattern' => '(5\\d)(\\d{3})(\\d{4})', + 'leading_digits' => '5' }, { - 'leading_digits' => '92', - 'pattern' => '(92\\d{2})(\\d{5})' + 'pattern' => '(92\\d{2})(\\d{5})', + 'leading_digits' => '92' }, { 'leading_digits' => '80', @@ -52,8 +52,7 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' 11\\d{7}| 1?(?: 2[24-8]| @@ -63,7 +62,10 @@ my $validators = { 7[235-7] )\\d{6} ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '', + 'toll_free' => '800\\d{7}', + 'geographic' => ' 11\\d{7}| 1?(?: 2[24-8]| @@ -73,6 +75,7 @@ my $validators = { 7[235-7] )\\d{6} ', + 'personal_number' => '', 'mobile' => ' (?: 5(?: @@ -82,9 +85,6 @@ my $validators = { 811\\d )\\d{6} ', - 'toll_free' => '800\\d{7}', - 'personal_number' => '', - 'pager' => '', 'specialrate' => '(92[05]\\d{6})' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/SB.pm b/lib/Number/Phone/StubCountry/SB.pm index b227041b3e27ef114bd676fae15e93d061ad4fb4..032fe14d4dd7b8ac72b0eb5ed38a5792fb8c1fb7 100644 --- a/lib/Number/Phone/StubCountry/SB.pm +++ b/lib/Number/Phone/StubCountry/SB.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -32,9 +32,7 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '', + 'toll_free' => '1[38]\\d{3}', 'geographic' => ' (?: 1[4-79]| @@ -44,17 +42,8 @@ my $validators = { 6[0-37] )\\d{3} ', - 'fixed_line' => ' - (?: - 1[4-79]| - [23]\\d| - 4[0-2]| - 5[03]| - 6[0-37] - )\\d{3} - ', - 'voip' => '5[12]\\d{3}', - 'toll_free' => '1[38]\\d{3}', + 'personal_number' => '', + 'specialrate' => '', 'mobile' => ' 48\\d{3}| 7(?: @@ -74,7 +63,18 @@ my $validators = { 8[0-79]| 9[0-8] )\\d{4} - ' + ', + 'fixed_line' => ' + (?: + 1[4-79]| + [23]\\d| + 4[0-2]| + 5[03]| + 6[0-37] + )\\d{3} + ', + 'pager' => '', + 'voip' => '5[12]\\d{3}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SC.pm b/lib/Number/Phone/StubCountry/SC.pm index 42af9a594080bf040e06532555e17f70159bd4da..64eb390b9dd6547ec47ac7d7c5e46fd81c9f7d47 100644 --- a/lib/Number/Phone/StubCountry/SC.pm +++ b/lib/Number/Phone/StubCountry/SC.pm @@ -22,13 +22,9 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ - { - 'pattern' => '(\\d{3})(\\d{3})', - 'leading_digits' => '8' - }, { 'pattern' => '(\\d)(\\d{3})(\\d{3})', 'leading_digits' => '[246]' @@ -37,13 +33,18 @@ my $formatters = [ my $validators = { 'geographic' => '4[2-46]\\d{5}', - 'fixed_line' => '4[2-46]\\d{5}', - 'voip' => '64\\d{5}', - 'mobile' => '2[5-8]\\d{5}', - 'toll_free' => '8000\\d{2}', 'personal_number' => '', + 'toll_free' => '8000\\d{3}', + 'specialrate' => '', + 'mobile' => '2[5-8]\\d{5}', + 'fixed_line' => '4[2-46]\\d{5}', 'pager' => '', - 'specialrate' => '' + 'voip' => ' + (?: + 64\\d| + 971 + )\\d{4} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SD.pm b/lib/Number/Phone/StubCountry/SD.pm index 9bafc2185b156d79f87ea6c023fef97053b114ab..080052a3620356b65f9c7acebbaaadc45fc1cdfe 100644 --- a/lib/Number/Phone/StubCountry/SD.pm +++ b/lib/Number/Phone/StubCountry/SD.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,24 +31,24 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' + 'geographic' => ' 1(?: [125]\\d| 8[3567] )\\d{6} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '', + 'mobile' => '9[0-3569]\\d{7}', + 'specialrate' => '', + 'fixed_line' => ' 1(?: [125]\\d| 8[3567] )\\d{6} ', - 'toll_free' => '', - 'mobile' => '9[0-3569]\\d{7}', 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + 'voip' => '' }; my %areanames = ( 24911 => "Omdurman", diff --git a/lib/Number/Phone/StubCountry/SE.pm b/lib/Number/Phone/StubCountry/SE.pm index 2880a1f675f1b00ac58878a2361bfb0c64e565a7..3285db092861eef2557eddddeaff380b6971d8c9 100644 --- a/lib/Number/Phone/StubCountry/SE.pm +++ b/lib/Number/Phone/StubCountry/SE.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '8', - 'pattern' => '(8)(\\d{2,3})(\\d{2,3})(\\d{2})' + 'pattern' => '(8)(\\d{2,3})(\\d{2,3})(\\d{2})', + 'leading_digits' => '8' }, { 'leading_digits' => ' @@ -75,7 +75,6 @@ my $formatters = [ ' }, { - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', 'leading_digits' => ' 1[2457]| 2(?: @@ -94,15 +93,16 @@ my $formatters = [ 3[0-5]| 4[0-3] ) - ' + ', + 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})' }, { - 'leading_digits' => '7', - 'pattern' => '(7\\d)(\\d{3})(\\d{2})(\\d{2})' + 'pattern' => '(7\\d)(\\d{3})(\\d{2})(\\d{2})', + 'leading_digits' => '7' }, { - 'pattern' => '(77)(\\d{2})(\\d{2})', - 'leading_digits' => '7' + 'leading_digits' => '7', + 'pattern' => '(77)(\\d{2})(\\d{2})' }, { 'pattern' => '(20)(\\d{2,3})(\\d{2})', @@ -113,35 +113,21 @@ my $formatters = [ 'leading_digits' => '9[034]' }, { - 'leading_digits' => '9[034]', - 'pattern' => '(9[034]\\d)(\\d{4})' + 'pattern' => '(9[034]\\d)(\\d{4})', + 'leading_digits' => '9[034]' }, { + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'leading_digits' => ' 25[245]| 67[3-6] - ', - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})' + ' } ]; my $validators = { 'personal_number' => '75[1-8]\\d{6}', - 'pager' => '74[02-9]\\d{6}', - 'specialrate' => '( - 77(?: - 0\\d{3}(?:\\d{3})?| - [1-7]\\d{6} - ) - )|( - 649\\d{6}| - 9(?: - 00| - 39| - 44 - )[1-8]\\d{3,6} - )', - 'fixed_line' => ' + 'geographic' => ' 1(?: 0[1-8]\\d{6}| [136]\\d{5,7}| @@ -225,7 +211,22 @@ my $validators = { )\\d{5,6} ) ', - 'geographic' => ' + 'toll_free' => '20\\d{4,7}', + 'specialrate' => '( + 77(?: + 0\\d{3}(?:\\d{3})?| + [1-7]\\d{6} + ) + )|( + 649\\d{6}| + 9(?: + 00| + 39| + 44 + )[1-8]\\d{3,6} + )', + 'mobile' => '7[02369]\\d{7}', + 'fixed_line' => ' 1(?: 0[1-8]\\d{6}| [136]\\d{5,7}| @@ -310,8 +311,7 @@ my $validators = { ) ', 'voip' => '', - 'mobile' => '7[02369]\\d{7}', - 'toll_free' => '20\\d{4,7}' + 'pager' => '74[02-9]\\d{6}' }; my %areanames = ( 4611 => "Norrköping", diff --git a/lib/Number/Phone/StubCountry/SG.pm b/lib/Number/Phone/StubCountry/SG.pm index 7d325a7e2a44e97c8d923aef323ac7a9b0467021..100f2578c98e6c46cc64ce69c1a5e5b974699a48 100644 --- a/lib/Number/Phone/StubCountry/SG.pm +++ b/lib/Number/Phone/StubCountry/SG.pm @@ -22,19 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([3689]\\d{3})(\\d{4})', 'leading_digits' => ' [369]| 8[1-9] - ' + ', + 'pattern' => '([3689]\\d{3})(\\d{4})' }, { - 'leading_digits' => '1[89]', - 'pattern' => '(1[89]00)(\\d{3})(\\d{4})' + 'pattern' => '(1[89]00)(\\d{3})(\\d{4})', + 'leading_digits' => '1[89]' }, { 'leading_digits' => '70', @@ -47,6 +47,7 @@ my $formatters = [ ]; my $validators = { + 'specialrate' => '(1900\\d{7})|(7000\\d{7})', 'mobile' => ' (?: 8[1-8]| @@ -54,12 +55,11 @@ my $validators = { )\\d{6} ', 'toll_free' => '1?800\\d{7}', - 'voip' => '3[12]\\d{6}', + 'personal_number' => '', 'geographic' => '6[1-9]\\d{6}', - 'fixed_line' => '6[1-9]\\d{6}', - 'specialrate' => '(1900\\d{7})|(7000\\d{7})', + 'voip' => '3[12]\\d{6}', 'pager' => '', - 'personal_number' => '' + 'fixed_line' => '6[1-9]\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SH.pm b/lib/Number/Phone/StubCountry/SH.pm index df8ec7ac20f84897d7f6e5790e0eaf4ed3912a52..e60031b7029453f627726e510d5b8d3271e04aa9 100644 --- a/lib/Number/Phone/StubCountry/SH.pm +++ b/lib/Number/Phone/StubCountry/SH.pm @@ -22,29 +22,29 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '', - 'mobile' => '[56]\\d{4}', - 'toll_free' => '', - 'voip' => '262\\d{2}', - 'geographic' => ' + 'fixed_line' => ' 2(?: [0-57-9]\\d| 6[4-9] )\\d{2} ', - 'fixed_line' => ' + 'voip' => '262\\d{2}', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' 2(?: [0-57-9]\\d| 6[4-9] )\\d{2} - ' + ', + 'toll_free' => '', + 'specialrate' => '', + 'mobile' => '[56]\\d{4}' }; my %areanames = ( 29022 => "Jamestown", diff --git a/lib/Number/Phone/StubCountry/SI.pm b/lib/Number/Phone/StubCountry/SI.pm index 4d5d0cdd72e99626f773b0c703ff4f819b148f0e..a517169915d54a36a77ce213d2e0dea5f01783c6 100644 --- a/lib/Number/Phone/StubCountry/SI.pm +++ b/lib/Number/Phone/StubCountry/SI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -36,17 +36,17 @@ my $formatters = [ ' }, { + 'pattern' => '([3-7]\\d)(\\d{3})(\\d{3})', 'leading_digits' => ' [37][01]| 4[0139]| 51| 6 - ', - 'pattern' => '([3-7]\\d)(\\d{3})(\\d{3})' + ' }, { - 'leading_digits' => '[89][09]', - 'pattern' => '([89][09])(\\d{3,6})' + 'pattern' => '([89][09])(\\d{3,6})', + 'leading_digits' => '[89][09]' }, { 'leading_digits' => ' @@ -62,8 +62,6 @@ my $validators = { 90\\d{4,6}| 89[1-3]\\d{2,5} )', - 'personal_number' => '', - 'pager' => '', 'mobile' => ' (?: [37][01]| @@ -72,14 +70,7 @@ my $validators = { 6[48] )\\d{6} ', - 'toll_free' => '80\\d{4,6}', - 'voip' => ' - (?: - 59| - 8[1-3] - )\\d{6} - ', - 'fixed_line' => ' + 'geographic' => ' (?: 1\\d| [25][2-8]| @@ -88,7 +79,16 @@ my $validators = { 7[3-8] )\\d{6} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '80\\d{4,6}', + 'pager' => '', + 'voip' => ' + (?: + 59| + 8[1-3] + )\\d{6} + ', + 'fixed_line' => ' (?: 1\\d| [25][2-8]| diff --git a/lib/Number/Phone/StubCountry/SJ.pm b/lib/Number/Phone/StubCountry/SJ.pm index 257d515d73cf5e6834d51713eda1cb221a06697c..10579eaa48ce3a99b48802ed61aaaf230b663093 100644 --- a/lib/Number/Phone/StubCountry/SJ.pm +++ b/lib/Number/Phone/StubCountry/SJ.pm @@ -22,24 +22,14 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'fixed_line' => '79\\d{6}', + 'personal_number' => '880\\d{5}', 'geographic' => '79\\d{6}', - 'voip' => '85[0-5]\\d{5}', - 'mobile' => ' - (?: - 4[015-8]| - 5[89]| - 9\\d - )\\d{6} - ', 'toll_free' => '80[01]\\d{5}', - 'pager' => '', - 'personal_number' => '880\\d{5}', 'specialrate' => '( 810(?: 0[0-6]| @@ -54,7 +44,17 @@ my $validators = { )| 5\\d{2} )\\d{3} - )' + )', + 'mobile' => ' + (?: + 4[015-8]| + 5[89]| + 9\\d + )\\d{6} + ', + 'fixed_line' => '79\\d{6}', + 'voip' => '85[0-5]\\d{5}', + 'pager' => '' }; my %areanames = ( 472 => "Oslo", diff --git a/lib/Number/Phone/StubCountry/SK.pm b/lib/Number/Phone/StubCountry/SK.pm index c8f33e56e496fd839ef0a41b857574920c8269eb..cecec7657a930608e1f0c2b5b22babbc9ba0f6c3 100644 --- a/lib/Number/Phone/StubCountry/SK.pm +++ b/lib/Number/Phone/StubCountry/SK.pm @@ -22,20 +22,20 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(2)(16)(\\d{3,4})', - 'leading_digits' => '216' + 'pattern' => '(2)(1[67])(\\d{3,4})', + 'leading_digits' => '21[67]' }, { - 'pattern' => '([3-5]\\d)(16)(\\d{2,3})', - 'leading_digits' => '[3-5]' + 'leading_digits' => '[3-5]', + 'pattern' => '([3-5]\\d)(1[67])(\\d{2,3})' }, { - 'leading_digits' => '2', - 'pattern' => '(2)(\\d{3})(\\d{3})(\\d{2})' + 'pattern' => '(2)(\\d{3})(\\d{3})(\\d{2})', + 'leading_digits' => '2' }, { 'pattern' => '([3-5]\\d)(\\d{3})(\\d{2})(\\d{2})', @@ -46,20 +46,36 @@ my $formatters = [ 'leading_digits' => '[689]' }, { - 'leading_digits' => '9090', - 'pattern' => '(9090)(\\d{3})' + 'pattern' => '(9090)(\\d{3})', + 'leading_digits' => '9090' } ]; my $validators = { + 'toll_free' => '800\\d{6}', + 'personal_number' => '', + 'geographic' => ' + 2(?: + 1(?: + 6\\d{3,4}| + 7\\d{3} + )| + [2-9]\\d{7} + )| + [3-5][1-8](?: + 1(?: + 6\\d{2,3}| + 7\\d{3} + )| + \\d{7} + ) + ', 'specialrate' => '(8[5-9]\\d{7})|( 9(?: [78]\\d{7}| 00\\d{6} ) )|(96\\d{7})', - 'pager' => '9090\\d{3}', - 'personal_number' => '', 'mobile' => ' 9(?: 0(?: @@ -68,12 +84,26 @@ my $validators = { )| (?: 1[0-24-9]| - 4[04589]| - 50 + [45]\\d )\\d )\\d{5} ', - 'toll_free' => '800\\d{6}', + 'fixed_line' => ' + 2(?: + 1(?: + 6\\d{3,4}| + 7\\d{3} + )| + [2-9]\\d{7} + )| + [3-5][1-8](?: + 1(?: + 6\\d{2,3}| + 7\\d{3} + )| + \\d{7} + ) + ', 'voip' => ' 6(?: 02| @@ -81,26 +111,7 @@ my $validators = { 9[0-6] )\\d{6} ', - 'geographic' => ' - 2(?: - 16\\d{3,4}| - \\d{8} - )| - [3-5](?: - [1-8]16\\d{2,3}| - \\d{8} - ) - ', - 'fixed_line' => ' - 2(?: - 16\\d{3,4}| - \\d{8} - )| - [3-5](?: - [1-8]16\\d{2,3}| - \\d{8} - ) - ' + 'pager' => '9090\\d{3}' }; my %areanames = ( 4212 => "Bratislava", diff --git a/lib/Number/Phone/StubCountry/SL.pm b/lib/Number/Phone/StubCountry/SL.pm index ca7061d852ef3c322607bb736ac3deee127e3147..c9dc600025197d4983bc9497c2603bf237aacbbf 100644 --- a/lib/Number/Phone/StubCountry/SL.pm +++ b/lib/Number/Phone/StubCountry/SL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,13 +31,12 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'geographic' => '[235]2[2-4][2-9]\\d{4}', 'fixed_line' => '[235]2[2-4][2-9]\\d{4}', + 'pager' => '', 'voip' => '', 'toll_free' => '', + 'geographic' => '[235]2[2-4][2-9]\\d{4}', + 'personal_number' => '', 'mobile' => ' (?: 2[15]| @@ -49,7 +48,8 @@ my $validators = { 88| 99 )\\d{6} - ' + ', + 'specialrate' => '' }; my %areanames = ( 23222 => "Freetown", diff --git a/lib/Number/Phone/StubCountry/SM.pm b/lib/Number/Phone/StubCountry/SM.pm index c526b2629d45594abcd145fe4a2cbcd7b1ea719b..a574406f6f126d6019a8c2606fce45b5be09cf8d 100644 --- a/lib/Number/Phone/StubCountry/SM.pm +++ b/lib/Number/Phone/StubCountry/SM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,15 +34,13 @@ my $formatters = [ 'pattern' => '(0549)(\\d{6})' }, { - 'leading_digits' => '[89]', - 'pattern' => '(\\d{6})' + 'pattern' => '(\\d{6})', + 'leading_digits' => '[89]' } ]; my $validators = { 'pager' => '', - 'personal_number' => '', - 'specialrate' => '(7[178]\\d{6})', 'voip' => '5[158]\\d{6}', 'fixed_line' => ' 0549(?: @@ -50,14 +48,16 @@ my $validators = { 9\\d )\\d{4} ', + 'mobile' => '6[16]\\d{6}', + 'specialrate' => '(7[178]\\d{6})', + 'toll_free' => '', 'geographic' => ' 0549(?: 8[0157-9]| 9\\d )\\d{4} ', - 'toll_free' => '', - 'mobile' => '6[16]\\d{6}' + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SN.pm b/lib/Number/Phone/StubCountry/SN.pm index 83465104fbef743956266cc994922b8a68c7f064..6561108813fb43edc50afc8e9fa5b6150d910463 100644 --- a/lib/Number/Phone/StubCountry/SN.pm +++ b/lib/Number/Phone/StubCountry/SN.pm @@ -22,28 +22,21 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'leading_digits' => '[379]' + 'leading_digits' => '[379]', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '8' + 'leading_digits' => '8', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { - 'mobile' => ' - 7(?: - [06-8]\\d| - 21| - 90 - )\\d{6} - ', - 'toll_free' => '800\\d{6}', + 'pager' => '', 'voip' => ' 39[01]\\d{6}| 3392\\d{5}| @@ -62,6 +55,14 @@ my $validators = { )| 611 )\\d{5} + ', + 'specialrate' => '(81[02468]\\d{6})|(88[4689]\\d{6})', + 'mobile' => ' + 7(?: + [06-8]\\d| + 21| + 90 + )\\d{6} ', 'geographic' => ' 3(?: @@ -77,9 +78,8 @@ my $validators = { 611 )\\d{5} ', - 'specialrate' => '(81[02468]\\d{6})|(88[4689]\\d{6})', 'personal_number' => '', - 'pager' => '' + 'toll_free' => '800\\d{6}' }; my %areanames = ( 221338 => "Dakar", diff --git a/lib/Number/Phone/StubCountry/SO.pm b/lib/Number/Phone/StubCountry/SO.pm index 831c29e07436996fba710bc705099004ccf90f18..83a4d5308ee03792656f019838a737e80d3e0634 100644 --- a/lib/Number/Phone/StubCountry/SO.pm +++ b/lib/Number/Phone/StubCountry/SO.pm @@ -22,44 +22,67 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{6})', + 'leading_digits' => '[134]' + }, + { + 'pattern' => '(\\d)(\\d{6})', 'leading_digits' => ' 2[0-79]| [13-5] - ', - 'pattern' => '(\\d)(\\d{6})' + ' }, { - 'pattern' => '(\\d)(\\d{7})', 'leading_digits' => ' 24| [67] - ' + ', + 'pattern' => '(\\d)(\\d{7})' + }, + { + 'pattern' => '(\\d{2})(\\d{4})', + 'leading_digits' => '8[125]' }, { - 'pattern' => '(\\d{2})(\\d{5,7})', 'leading_digits' => ' 15| 28| 6[1-35-9]| 799| 9[2-9] - ' + ', + 'pattern' => '(\\d{2})(\\d{5,7})' }, { - 'pattern' => '(90\\d)(\\d{3})(\\d{3})', - 'leading_digits' => '90' + 'leading_digits' => ' + 3[59]| + 4[89]| + 6[24-6]| + 79| + 8[08]| + 90 + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})' } ]; my $validators = { - 'specialrate' => '', - 'personal_number' => '', 'pager' => '', - 'toll_free' => '', + 'voip' => '', + 'fixed_line' => ' + (?: + 1\\d{1,2}| + 2[0-79]\\d| + 3[0-46-8]?\\d| + 4[0-7]?\\d| + 59\\d| + 8[125] + )\\d{4} + ', 'mobile' => ' (?: 15\\d| @@ -67,39 +90,38 @@ my $validators = { 4\\d| 8 )| - 6[1-35-9]?\\d{2}| + 3[59]\\d{2}| + 4[89]\\d{2}| + 6[1-9]?\\d{2}| 7(?: [1-8]\\d| - 99?\\d + 9\\d{1,2} )| + 8[08]\\d{2}| 9(?: 0[67]| [2-9] )\\d )\\d{5} ', - 'fixed_line' => ' - (?: - 1\\d| - 2[0-79]| - 3[0-46-8]| - 4[0-7]| - 59 - )\\d{5} - ', + 'specialrate' => '', 'geographic' => ' (?: - 1\\d| - 2[0-79]| - 3[0-46-8]| - 4[0-7]| - 59 - )\\d{5} + 1\\d{1,2}| + 2[0-79]\\d| + 3[0-46-8]?\\d| + 4[0-7]?\\d| + 59\\d| + 8[125] + )\\d{4} ', - 'voip' => '' + 'personal_number' => '', + 'toll_free' => '' }; my %areanames = ( - 2521 => "Hargeisa", + 2521 => "Mogadishu", + 2523 => "Hargeisa", + 2524 => "Garowe", 25251 => "Mangauno", 25261 => "Mogadishu", ); diff --git a/lib/Number/Phone/StubCountry/SR.pm b/lib/Number/Phone/StubCountry/SR.pm index 67f829828da9a6fc793acc052e3e964af6568fb4..1b6c780a38c84ea6f292affe27e583be659a027d 100644 --- a/lib/Number/Phone/StubCountry/SR.pm +++ b/lib/Number/Phone/StubCountry/SR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -33,29 +33,19 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{3})' }, { - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'leading_digits' => '56' + 'leading_digits' => '56', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})' }, { - 'leading_digits' => ' - 59| - [6-8] - ', + 'leading_digits' => '[6-8]', 'pattern' => '(\\d{3})(\\d{4})' } ]; my $validators = { + 'toll_free' => '', 'personal_number' => '', - 'pager' => '', - 'specialrate' => '', - 'voip' => ' - 5(?: - 6\\d{4}| - 90[0-4]\\d{3} - ) - ', - 'fixed_line' => ' + 'geographic' => ' (?: 2[1-3]| 3[0-7]| @@ -64,7 +54,14 @@ my $validators = { 68\\d )\\d{4} ', - 'geographic' => ' + 'specialrate' => '', + 'mobile' => ' + (?: + 7[124-7]| + 8[1-9] + )\\d{5} + ', + 'fixed_line' => ' (?: 2[1-3]| 3[0-7]| @@ -73,13 +70,8 @@ my $validators = { 68\\d )\\d{4} ', - 'mobile' => ' - (?: - 7[124-7]| - 8[1-9] - )\\d{5} - ', - 'toll_free' => '' + 'voip' => '56\\d{4}', + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SS.pm b/lib/Number/Phone/StubCountry/SS.pm index 13927dd7b9b99f25748f858805d1d62c13612b50..834201dea6850b5dd3ebdad4619c9f253cc7723c 100644 --- a/lib/Number/Phone/StubCountry/SS.pm +++ b/lib/Number/Phone/StubCountry/SS.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -32,18 +32,18 @@ my $formatters = [ my $validators = { 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'geographic' => '18\\d{7}', - 'fixed_line' => '18\\d{7}', 'voip' => '', - 'toll_free' => '', + 'fixed_line' => '18\\d{7}', + 'specialrate' => '', 'mobile' => ' (?: 12| 9[1257] )\\d{7} - ' + ', + 'toll_free' => '', + 'geographic' => '18\\d{7}', + 'personal_number' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/ST.pm b/lib/Number/Phone/StubCountry/ST.pm index 7e14a2c6308b4d599360450f7ca2313bf45c3c00..86c21024e01093f6a6e906224c3e3359fbdcb3a3 100644 --- a/lib/Number/Phone/StubCountry/ST.pm +++ b/lib/Number/Phone/StubCountry/ST.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,10 +31,13 @@ my $formatters = [ ]; my $validators = { + 'fixed_line' => '22\\d{5}', 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => '22\\d{5}', - 'fixed_line' => '22\\d{5}', 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' 9(?: 0(?: @@ -43,10 +46,7 @@ my $validators = { )| [89]\\d{2} )\\d{3} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + ' }; my %areanames = ( 2392220 => "Santo\ Amaro", diff --git a/lib/Number/Phone/StubCountry/SV.pm b/lib/Number/Phone/StubCountry/SV.pm index 3d18a3771afc4ecc96fe761a0da2fb184c079d54..9bcf48962ee4ab403e14dfb36eab06c45cbd50ec 100644 --- a/lib/Number/Phone/StubCountry/SV.pm +++ b/lib/Number/Phone/StubCountry/SV.pm @@ -22,32 +22,32 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{4})(\\d{4})', - 'leading_digits' => '[267]' + 'leading_digits' => '[267]', + 'pattern' => '(\\d{4})(\\d{4})' }, { 'leading_digits' => '[89]', 'pattern' => '(\\d{3})(\\d{4})' }, { - 'leading_digits' => '[89]', - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', + 'leading_digits' => '[89]' } ]; my $validators = { - 'mobile' => '[67]\\d{7}', - 'toll_free' => '800\\d{4}(?:\\d{4})?', 'voip' => '', + 'pager' => '', 'fixed_line' => '2[1-6]\\d{6}', - 'geographic' => '2[1-6]\\d{6}', + 'mobile' => '[67]\\d{7}', 'specialrate' => '(900\\d{4}(?:\\d{4})?)', - 'pager' => '', - 'personal_number' => '' + 'toll_free' => '800\\d{4}(?:\\d{4})?', + 'personal_number' => '', + 'geographic' => '2[1-6]\\d{6}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SX.pm b/lib/Number/Phone/StubCountry/SX.pm index 0fe32f3c0b31b9dcfd40e3754dd983ec9fcd35ac..fb684b04d712616156dedaafa2f4c8b4a271e40c 100644 --- a/lib/Number/Phone/StubCountry/SX.pm +++ b/lib/Number/Phone/StubCountry/SX.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,24 +34,28 @@ my $formatters = [ ]; my $validators = { - 'voip' => '', - 'fixed_line' => ' - 7215(?: - 4[2-8]| - 8[239]| - 9[056] - )\\d{4} - ', 'geographic' => ' 7215(?: 4[2-8]| 8[239]| 9[056] )\\d{4} + ', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| @@ -67,19 +71,16 @@ my $validators = { 8[014-8] )\\d{4} ', - 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} + 'specialrate' => '(900[2-9]\\d{6})', + 'fixed_line' => ' + 7215(?: + 4[2-8]| + 8[239]| + 9[056] + )\\d{4} ', - 'specialrate' => '(900[2-9]\\d{6})' + 'pager' => '', + 'voip' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/SY.pm b/lib/Number/Phone/StubCountry/SY.pm index e66101b2b8a69386fe5f055f8eb75ae19bc33e31..b6bdf8c942047327372b1ec65acf80fccec7d54e 100644 --- a/lib/Number/Phone/StubCountry/SY.pm +++ b/lib/Number/Phone/StubCountry/SY.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,20 +30,12 @@ my $formatters = [ 'leading_digits' => '[1-5]' }, { - 'leading_digits' => '9', - 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})' + 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})', + 'leading_digits' => '9' } ]; my $validators = { - 'mobile' => ' - 9(?: - 22| - [3-589]\\d| - 6[024-9] - )\\d{6} - ', - 'toll_free' => '', 'fixed_line' => ' (?: 1(?: @@ -63,6 +55,8 @@ my $validators = { 5[1-3] )\\d{6} ', + 'pager' => '', + 'voip' => '', 'geographic' => ' (?: 1(?: @@ -82,10 +76,16 @@ my $validators = { 5[1-3] )\\d{6} ', - 'voip' => '', - 'specialrate' => '', 'personal_number' => '', - 'pager' => '' + 'toll_free' => '', + 'specialrate' => '', + 'mobile' => ' + 9(?: + 22| + [3-589]\\d| + 6[024-9] + )\\d{6} + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/SZ.pm b/lib/Number/Phone/StubCountry/SZ.pm index 0a977fe84562b0646a4c00389367bf7ae82019fb..941c017a6844ff96e6c471a3b4e545e3a54be9a9 100644 --- a/lib/Number/Phone/StubCountry/SZ.pm +++ b/lib/Number/Phone/StubCountry/SZ.pm @@ -22,23 +22,23 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(\\d{4})(\\d{4})', - 'leading_digits' => '[027]' + 'leading_digits' => '[027]', + 'pattern' => '(\\d{4})(\\d{4})' } ]; my $validators = { - 'mobile' => '7[6-8]\\d{6}', 'toll_free' => '0800\\d{4}', + 'personal_number' => '', 'geographic' => '2[2-5]\\d{6}', + 'specialrate' => '', + 'mobile' => '7[6-8]\\d{6}', 'fixed_line' => '2[2-5]\\d{6}', 'voip' => '', - 'specialrate' => '', - 'personal_number' => '', 'pager' => '' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/TA.pm b/lib/Number/Phone/StubCountry/TA.pm index 7e6db5b1cacb58d57e8268f08ade67d13c5cd462..b270f861e41a2b3f9f01666947a534a7aca40d73 100644 --- a/lib/Number/Phone/StubCountry/TA.pm +++ b/lib/Number/Phone/StubCountry/TA.pm @@ -22,19 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'mobile' => '', - 'toll_free' => '', - 'voip' => '', 'fixed_line' => '8\\d{3}', - 'geographic' => '8\\d{3}', - 'specialrate' => '', + 'voip' => '', 'pager' => '', - 'personal_number' => '' + 'toll_free' => '', + 'personal_number' => '', + 'geographic' => '8\\d{3}', + 'mobile' => '', + 'specialrate' => '' }; my %areanames = ( 29022 => "Jamestown", diff --git a/lib/Number/Phone/StubCountry/TC.pm b/lib/Number/Phone/StubCountry/TC.pm index 7c1c1e26c0e1f9ef3a43df618800584f030ad701..05159bab60d7d608d2a03fbc072902ad6a8f316a 100644 --- a/lib/Number/Phone/StubCountry/TC.pm +++ b/lib/Number/Phone/StubCountry/TC.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,38 +34,7 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| - 33| - 44| - 66| - 77| - 88 - )[2-9]\\d{6} - ', 'specialrate' => '(900[2-9]\\d{6})', - 'voip' => '64971[01]\\d{4}', - 'fixed_line' => ' - 649(?: - 712| - 9(?: - 4\\d| - 50 - ) - )\\d{4} - ', - 'geographic' => ' - 649(?: - 712| - 9(?: - 4\\d| - 50 - ) - )\\d{4} - ', 'mobile' => ' 649(?: 2(?: @@ -78,16 +47,48 @@ my $validators = { )| 4[34][1-3] )\\d{4} + ', + 'geographic' => ' + 649(?: + 712| + 9(?: + 4\\d| + 50 + ) + )\\d{4} + ', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} ', 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| 77| 88 )[2-9]\\d{6} + ', + 'pager' => '', + 'voip' => '64971[01]\\d{4}', + 'fixed_line' => ' + 649(?: + 712| + 9(?: + 4\\d| + 50 + ) + )\\d{4} ' }; use Number::Phone::NANP::Data; diff --git a/lib/Number/Phone/StubCountry/TD.pm b/lib/Number/Phone/StubCountry/TD.pm index 5b62597400cd42e7ba91a149d1955dbf619b5645..948f6c8b426561a7f3484f2f19b7e9cd27eebc64 100644 --- a/lib/Number/Phone/StubCountry/TD.pm +++ b/lib/Number/Phone/StubCountry/TD.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,31 +31,31 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', + 'mobile' => ' + (?: + 6[023568]\\d| + 77\\d| + 9\\d{2} + )\\d{5} + ', 'specialrate' => '', - 'fixed_line' => ' + 'personal_number' => '', + 'geographic' => ' 22(?: [3789]0| 5[0-5]| 6[89] )\\d{4} ', - 'geographic' => ' + 'toll_free' => '', + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' 22(?: [3789]0| 5[0-5]| 6[89] )\\d{4} - ', - 'voip' => '', - 'toll_free' => '', - 'mobile' => ' - (?: - 6[023568]\\d| - 77\\d| - 9\\d{2} - )\\d{5} ' }; diff --git a/lib/Number/Phone/StubCountry/TG.pm b/lib/Number/Phone/StubCountry/TG.pm index e69065c4b102ead3eb12b4e06f42edd0e9d15d03..a1dd846a15349b7e5366e965577d2a00c2ab1503 100644 --- a/lib/Number/Phone/StubCountry/TG.pm +++ b/lib/Number/Phone/StubCountry/TG.pm @@ -22,17 +22,19 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'leading_digits' => '[29]', 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' } ]; my $validators = { 'voip' => '', - 'geographic' => ' + 'pager' => '', + 'fixed_line' => ' 2(?: 2[2-7]| 3[23]| @@ -42,7 +44,10 @@ my $validators = { 77 )\\d{5} ', - 'fixed_line' => ' + 'specialrate' => '', + 'mobile' => '9[0-36-9]\\d{6}', + 'personal_number' => '', + 'geographic' => ' 2(?: 2[2-7]| 3[23]| @@ -52,11 +57,7 @@ my $validators = { 77 )\\d{5} ', - 'mobile' => '9[0-389]\\d{6}', - 'toll_free' => '', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + 'toll_free' => '' }; my %areanames = ( 22822 => "Lome", diff --git a/lib/Number/Phone/StubCountry/TH.pm b/lib/Number/Phone/StubCountry/TH.pm index 5cfc47345ddf3f96a4d57d73d79a871b6eee9691..f62e7448165e40ab8843f2b1779145042fdf06e9 100644 --- a/lib/Number/Phone/StubCountry/TH.pm +++ b/lib/Number/Phone/StubCountry/TH.pm @@ -22,12 +22,12 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '(2)(\\d{3})(\\d{4})', - 'leading_digits' => '2' + 'leading_digits' => '2', + 'pattern' => '(2)(\\d{3})(\\d{4})' }, { 'leading_digits' => ' @@ -43,6 +43,14 @@ my $formatters = [ ]; my $validators = { + 'specialrate' => '(1900\\d{6})|(1\\d{3})', + 'mobile' => ' + (?: + 14| + 6[1-6]| + [89]\\d + )\\d{7} + ', 'geographic' => ' (?: 2\\d| @@ -52,6 +60,10 @@ my $validators = { 7[3-7] )\\d{6} ', + 'personal_number' => '', + 'toll_free' => '1800\\d{6}', + 'pager' => '', + 'voip' => '6[08]\\d{7}', 'fixed_line' => ' (?: 2\\d| @@ -60,19 +72,7 @@ my $validators = { 5[2-6]| 7[3-7] )\\d{6} - ', - 'voip' => '6[08]\\d{7}', - 'toll_free' => '1800\\d{6}', - 'mobile' => ' - (?: - 14| - 6[1-5]| - [89]\\d - )\\d{7} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(1900\\d{6})|(1\\d{3})' + ' }; my %areanames = ( 662 => "Bangkok\/Nonthaburi\/Pathum\ Thani\/Samut\ Prakan", diff --git a/lib/Number/Phone/StubCountry/TJ.pm b/lib/Number/Phone/StubCountry/TJ.pm index 4da7475a4b2f6a6be621a7295f3dadc377b01161..c03c5e3b882beeee029158488730078bd66e3138 100644 --- a/lib/Number/Phone/StubCountry/TJ.pm +++ b/lib/Number/Phone/StubCountry/TJ.pm @@ -22,26 +22,26 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'pattern' => '([349]\\d{2})(\\d{2})(\\d{4})', 'leading_digits' => ' [34]7| 91[78] - ' + ', + 'pattern' => '([349]\\d{2})(\\d{2})(\\d{4})' }, { + 'pattern' => '([457-9]\\d)(\\d{3})(\\d{4})', 'leading_digits' => ' 4[148]| - [58]| + [578]| 9(?: 1[59]| [0235-9] ) - ', - 'pattern' => '([4589]\\d)(\\d{3})(\\d{4})' + ' }, { 'pattern' => '(331700)(\\d)(\\d{2})', @@ -62,7 +62,9 @@ my $formatters = [ ]; my $validators = { - 'geographic' => ' + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' (?: 3(?: 1[3-5]| @@ -79,7 +81,21 @@ my $validators = { ) )\\d{6} ', - 'fixed_line' => ' + 'specialrate' => '', + 'mobile' => ' + (?: + 41[18]| + (?: + 5[05]| + 77| + 88| + 9[0-35-9] + )\\d + )\\d{6} + ', + 'toll_free' => '', + 'personal_number' => '', + 'geographic' => ' (?: 3(?: 1[3-5]| @@ -95,23 +111,7 @@ my $validators = { 87 ) )\\d{6} - ', - 'voip' => '', - 'mobile' => ' - (?: - 41[18]| - 5(?: - 0[125]| - 5\\d - )| - 88\\d| - 9[0-35-9]\\d - )\\d{6} - ', - 'toll_free' => '', - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '' + ' }; my %areanames = ( 9923130 => "Tursun\-Zade", diff --git a/lib/Number/Phone/StubCountry/TK.pm b/lib/Number/Phone/StubCountry/TK.pm index 45a410ddc81863e6967058f14d154a63996e2411..a1302be3fcb7a75d1cd6b0aaa2430526652e7b73 100644 --- a/lib/Number/Phone/StubCountry/TK.pm +++ b/lib/Number/Phone/StubCountry/TK.pm @@ -22,29 +22,29 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 2[2-4]| [34]\\d )\\d{2,5} ', + 'specialrate' => '', + 'mobile' => '7[2-4]\\d{2,5}', + 'toll_free' => '', + 'personal_number' => '', 'geographic' => ' (?: 2[2-4]| [34]\\d )\\d{2,5} - ', - 'toll_free' => '', - 'mobile' => '7[2-4]\\d{2,5}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/TL.pm b/lib/Number/Phone/StubCountry/TL.pm index ca521b4f1e670d33c771e4de517d6fbe867a0b2b..8a6a6adb5de1eef986bac0f75919658f47728060 100644 --- a/lib/Number/Phone/StubCountry/TL.pm +++ b/lib/Number/Phone/StubCountry/TL.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -36,9 +36,8 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '80\\d{5}', - 'mobile' => '7[3-8]\\d{6}', 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 2[1-5]| @@ -46,6 +45,9 @@ my $validators = { 4[1-4] )\\d{5} ', + 'mobile' => '7[3-8]\\d{6}', + 'specialrate' => '(90\\d{5})', + 'personal_number' => '70\\d{5}', 'geographic' => ' (?: 2[1-5]| @@ -53,9 +55,7 @@ my $validators = { 4[1-4] )\\d{5} ', - 'specialrate' => '(90\\d{5})', - 'pager' => '', - 'personal_number' => '70\\d{5}' + 'toll_free' => '80\\d{5}' }; sub new { diff --git a/lib/Number/Phone/StubCountry/TM.pm b/lib/Number/Phone/StubCountry/TM.pm index f5414238fa2a65ac2eb5ee756dfb0162e7a40e07..e2eca6149b548539ee28504cad05c7107b6c1e50 100644 --- a/lib/Number/Phone/StubCountry/TM.pm +++ b/lib/Number/Phone/StubCountry/TM.pm @@ -22,31 +22,28 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '12', - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})' + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'leading_digits' => '12' }, { - 'leading_digits' => '6', - 'pattern' => '(\\d{2})(\\d{6})' + 'pattern' => '(\\d{2})(\\d{6})', + 'leading_digits' => '6' }, { - 'pattern' => '(\\d{3})(\\d)(\\d{2})(\\d{2})', 'leading_digits' => ' 13| [2-5] - ' + ', + 'pattern' => '(\\d{3})(\\d)(\\d{2})(\\d{2})' } ]; my $validators = { 'specialrate' => '', - 'personal_number' => '', - 'pager' => '', - 'toll_free' => '', 'mobile' => '6[1-9]\\d{6}', 'geographic' => ' (?: @@ -75,6 +72,10 @@ my $validators = { ) )\\d{5} ', + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', 'fixed_line' => ' (?: 1(?: @@ -101,8 +102,7 @@ my $validators = { 6[014-689] ) )\\d{5} - ', - 'voip' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/TN.pm b/lib/Number/Phone/StubCountry/TN.pm index 31cb53fd01f2c8a85eec3633c3eb17a29f34d769..c399f5e9a25065ed17e249f78a0e75f41ddbd94f 100644 --- a/lib/Number/Phone/StubCountry/TN.pm +++ b/lib/Number/Phone/StubCountry/TN.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,15 +31,9 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => '8010\\d{4}', - 'mobile' => ' - (?: - [259]\\d| - 4[0-6] - )\\d{6} - ', 'voip' => '', - 'geographic' => ' + 'pager' => '', + 'fixed_line' => ' 3(?: [012]\\d| 6[0-4]| @@ -48,7 +42,16 @@ my $validators = { 7\\d{7}| 81200\\d{3} ', - 'fixed_line' => ' + 'mobile' => ' + (?: + [259]\\d| + 4[0-6] + )\\d{6} + ', + 'specialrate' => '(8[12]10\\d{4})|(88\\d{6})', + 'toll_free' => '8010\\d{4}', + 'personal_number' => '', + 'geographic' => ' 3(?: [012]\\d| 6[0-4]| @@ -56,10 +59,7 @@ my $validators = { )\\d{5}| 7\\d{7}| 81200\\d{3} - ', - 'specialrate' => '(8[12]10\\d{4})|(88\\d{6})', - 'pager' => '', - 'personal_number' => '' + ' }; my %areanames = ( 21670 => "Ben\ Arous", diff --git a/lib/Number/Phone/StubCountry/TO.pm b/lib/Number/Phone/StubCountry/TO.pm index 8be71b494af73cc3dba4b0765674b2f69fdb0ca7..b192a6d54789ba2d528625987abfdca30ad35158 100644 --- a/lib/Number/Phone/StubCountry/TO.pm +++ b/lib/Number/Phone/StubCountry/TO.pm @@ -22,39 +22,31 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{2})(\\d{3})', 'leading_digits' => ' [1-6]| 7[0-4]| 8[05] - ', - 'pattern' => '(\\d{2})(\\d{3})' + ' }, { + 'pattern' => '(\\d{3})(\\d{4})', 'leading_digits' => ' 7[5-9]| 8[47-9] - ', - 'pattern' => '(\\d{3})(\\d{4})' + ' }, { - 'leading_digits' => '0', - 'pattern' => '(\\d{4})(\\d{3})' + 'pattern' => '(\\d{4})(\\d{3})', + 'leading_digits' => '0' } ]; my $validators = { - 'toll_free' => '0800\\d{3}', - 'mobile' => ' - (?: - 7[578]| - 8[47-9] - )\\d{5} - ', - 'voip' => '', 'fixed_line' => ' (?: 2\\d| @@ -65,6 +57,9 @@ my $validators = { 8[05] )\\d{3} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' (?: 2\\d| @@ -75,9 +70,14 @@ my $validators = { 8[05] )\\d{3} ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + 'toll_free' => '0800\\d{3}', + 'mobile' => ' + (?: + 7[578]| + 8[47-9] + )\\d{5} + ', + 'specialrate' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/TR.pm b/lib/Number/Phone/StubCountry/TR.pm index 765984e09513bb95016eef2bb1325f0422fa24d7..27ce21483609cf753493350a0913c434460eb4b7 100644 --- a/lib/Number/Phone/StubCountry/TR.pm +++ b/lib/Number/Phone/StubCountry/TR.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -36,15 +36,15 @@ my $formatters = [ 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'leading_digits' => '5[02-69]' + 'leading_digits' => '5[02-69]', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})' }, { - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'leading_digits' => ' 51| [89] - ' + ', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})' }, { 'pattern' => '(444)(\\d{1})(\\d{3})', @@ -53,12 +53,6 @@ my $formatters = [ ]; my $validators = { - 'pager' => '512\\d{7}', - 'personal_number' => '', - 'specialrate' => '(900\\d{7})|( - 444\\d{4}| - 850\\d{7} - )', 'fixed_line' => ' (?: 2(?: @@ -80,6 +74,9 @@ my $validators = { ) )\\d{7} ', + 'pager' => '512\\d{7}', + 'voip' => '', + 'toll_free' => '800\\d{7}', 'geographic' => ' (?: 2(?: @@ -101,7 +98,11 @@ my $validators = { ) )\\d{7} ', - 'voip' => '', + 'personal_number' => '', + 'specialrate' => '(900\\d{7})|( + 444\\d{4}| + 850\\d{7} + )', 'mobile' => ' 5(?: (?: @@ -113,8 +114,7 @@ my $validators = { )\\d{2}| 6161 )\\d{5} - ', - 'toll_free' => '800\\d{7}' + ' }; my %areanames = ( 90212 => "Istanbul\ \(Europe\)", diff --git a/lib/Number/Phone/StubCountry/TT.pm b/lib/Number/Phone/StubCountry/TT.pm index 03858024ce39c75e026639ad38dbcc8737691f11..feb625cc51810c1a2243b90979ae39761a69290b 100644 --- a/lib/Number/Phone/StubCountry/TT.pm +++ b/lib/Number/Phone/StubCountry/TT.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -45,32 +45,11 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})', - 'voip' => '', 'geographic' => ' 868(?: 2(?: 01| - 2[1-6]| - 3[1-5] - )| - 6(?: - 0[79]| - 1[02-8]| - 2[1-9]| - [3-69]\\d| - 7[0-79] - )| - 82[124] - )\\d{4} - ', - 'fixed_line' => ' - 868(?: - 2(?: - 01| - 2[1-6]| - 3[1-5] + [23]\\d )| 6(?: 0[79]| @@ -85,6 +64,7 @@ my $validators = { 'toll_free' => ' 8(?: 00| + 33| 44| 55| 66| @@ -95,6 +75,7 @@ my $validators = { 'mobile' => ' 868(?: 2(?: + 6[6-9]| [789]\\d )| 3(?: @@ -114,7 +95,26 @@ my $validators = { [2-9]\\d ) )\\d{4} - ' + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'fixed_line' => ' + 868(?: + 2(?: + 01| + [23]\\d + )| + 6(?: + 0[79]| + 1[02-8]| + 2[1-9]| + [3-69]\\d| + 7[0-79] + )| + 82[124] + )\\d{4} + ', + 'voip' => '', + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/TV.pm b/lib/Number/Phone/StubCountry/TV.pm index e9f51860dcd67f61677e64a33b3c979820322412..896dea197934af51e032d4dc58deb3e2ef9770b0 100644 --- a/lib/Number/Phone/StubCountry/TV.pm +++ b/lib/Number/Phone/StubCountry/TV.pm @@ -22,24 +22,24 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { - 'geographic' => '2[02-9]\\d{3}', 'fixed_line' => '2[02-9]\\d{3}', 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => '2[02-9]\\d{3}', 'toll_free' => '', + 'specialrate' => '', 'mobile' => ' (?: 70\\d| 90 )\\d{4} - ', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '' + ' }; my %areanames = ( 68820 => "Funafuti", diff --git a/lib/Number/Phone/StubCountry/TW.pm b/lib/Number/Phone/StubCountry/TW.pm index 45b03537c406f7f1f4c6ded8eade4dc9380e3faf..0487c7ae563c951889859ba70d774d0b9fbcd114 100644 --- a/lib/Number/Phone/StubCountry/TW.pm +++ b/lib/Number/Phone/StubCountry/TW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,23 +30,23 @@ my $formatters = [ 'leading_digits' => '202' }, { - 'pattern' => '(20)(\\d{3})(\\d{4})', - 'leading_digits' => '20[013-9]' + 'leading_digits' => '20[013-9]', + 'pattern' => '(20)(\\d{3})(\\d{4})' }, { + 'pattern' => '([2-8])(\\d{3,4})(\\d{4})', 'leading_digits' => ' 2[23-8]| [3-6]| [78][1-9] - ', - 'pattern' => '([2-8])(\\d{3,4})(\\d{4})' + ' }, { - 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})', 'leading_digits' => ' 80| 9 - ' + ', + 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})' }, { 'leading_digits' => '70', @@ -55,16 +55,8 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '( - 20(?: - 2| - [013-9]\\d{2} - )\\d{4} - )', 'pager' => '', - 'personal_number' => '', - 'mobile' => '9\\d{8}', - 'toll_free' => '800\\d{6}', + 'voip' => '70\\d{8}', 'fixed_line' => ' 2(?: [235-8]\\d{7}| @@ -72,6 +64,13 @@ my $validators = { )| [3-8]\\d{7,8} ', + 'specialrate' => '( + 20(?: + 2| + [013-9]\\d{2} + )\\d{4} + )', + 'mobile' => '9\\d{8}', 'geographic' => ' 2(?: [235-8]\\d{7}| @@ -79,7 +78,8 @@ my $validators = { )| [3-8]\\d{7,8} ', - 'voip' => '70\\d{8}' + 'personal_number' => '', + 'toll_free' => '800\\d{6}' }; my %areanames = ( 8862 => "Taipei", diff --git a/lib/Number/Phone/StubCountry/TZ.pm b/lib/Number/Phone/StubCountry/TZ.pm index 8ce20d448fe21629d923a9f74dcde1fd5b2e54bb..30a0b16f40345f8a0a779e61aa79b2fe71126f39 100644 --- a/lib/Number/Phone/StubCountry/TZ.pm +++ b/lib/Number/Phone/StubCountry/TZ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -30,8 +30,8 @@ my $formatters = [ 'leading_digits' => '[24]' }, { - 'leading_digits' => '[67]', - 'pattern' => '([67]\\d{2})(\\d{3})(\\d{3})' + 'pattern' => '([67]\\d{2})(\\d{3})(\\d{3})', + 'leading_digits' => '[67]' }, { 'leading_digits' => '[89]', @@ -40,35 +40,43 @@ my $formatters = [ ]; my $validators = { - 'fixed_line' => '2[2-8]\\d{7}', + 'personal_number' => '', 'geographic' => '2[2-8]\\d{7}', - 'voip' => '41\\d{7}', 'toll_free' => '80[08]\\d{6}', - 'mobile' => ' - (?: - 6[125-9]| - 7[1-9] - )\\d{7} - ', - 'personal_number' => '', - 'pager' => '', 'specialrate' => '( 8(?: 40| 6[01] )\\d{6} - )|(90\\d{7})' + )|(90\\d{7})', + 'mobile' => ' + (?: + 6[2-9]| + 7[13-9] + )\\d{7} + ', + 'fixed_line' => '2[2-8]\\d{7}', + 'voip' => '41\\d{7}', + 'pager' => '' }; - +my %areanames = ( + 25522 => "Dar\-Es\-Salaam", + 25523 => "Coast\/Morogoro\/Lindi\/Mtwara", + 25524 => "Zanzibar", + 25525 => "Mbeya\/Songwe\/Ruvuma\/Katavi\/Rukwa", + 25526 => "Dodoma\/Iringa\/Njombe\/Singida\/Tabora", + 25527 => "Arusha\/Manyara\/Kilimanjaro\/Tanga", + 25528 => "Mwanza\/Shinyanga\/Mara\/Geita\/Simiyu\/Kagera\/Kigoma", +); sub new { my $class = shift; my $number = shift; $number =~ s/(^\+255|\D)//g; - my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + my $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self if ($self->is_valid()); $number =~ s/(^0)//g; - $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class); + $self = bless({ number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class); return $self->is_valid() ? $self : undef; } 1; \ No newline at end of file diff --git a/lib/Number/Phone/StubCountry/UA.pm b/lib/Number/Phone/StubCountry/UA.pm index 7dbb65ce9eace6fc3849cca8c5699d54aad4d5b4..7ab15fc77d71111ab0fe4b782aac03f60f97e425 100644 --- a/lib/Number/Phone/StubCountry/UA.pm +++ b/lib/Number/Phone/StubCountry/UA.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -42,7 +42,7 @@ my $formatters = [ 7[37] )| 6[36-8]| - 73| + 7| 9[1-9] ' }, @@ -108,16 +108,28 @@ my $formatters = [ ]; my $validators = { + 'voip' => '89\\d{7}', + 'pager' => '', + 'fixed_line' => ' + (?: + 3[1-8]| + 4[13-8]| + 5[1-7]| + 6[12459] + )\\d{7} + ', 'mobile' => ' (?: 39| 50| 6[36-8]| - 73| + 7[13]| 9[1-9] )\\d{7} ', + 'specialrate' => '(900\\d{6})', 'toll_free' => '800\\d{6}', + 'personal_number' => '', 'geographic' => ' (?: 3[1-8]| @@ -125,19 +137,7 @@ my $validators = { 5[1-7]| 6[12459] )\\d{7} - ', - 'fixed_line' => ' - (?: - 3[1-8]| - 4[13-8]| - 5[1-7]| - 6[12459] - )\\d{7} - ', - 'voip' => '89\\d{7}', - 'specialrate' => '(900\\d{6})', - 'pager' => '', - 'personal_number' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/UG.pm b/lib/Number/Phone/StubCountry/UG.pm index a9e6230dedac721fa1fac6330511ab8898e018da..9be42e60135e311c64d3eac7d3284a871ebf68cb 100644 --- a/lib/Number/Phone/StubCountry/UG.pm +++ b/lib/Number/Phone/StubCountry/UG.pm @@ -22,10 +22,11 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { + 'pattern' => '(\\d{3})(\\d{6})', 'leading_digits' => ' [7-9]| 20(?: @@ -36,18 +37,17 @@ my $formatters = [ 6[45]| [7-9] ) - ', - 'pattern' => '(\\d{3})(\\d{6})' + ' }, { + 'pattern' => '(\\d{2})(\\d{7})', 'leading_digits' => ' 3| 4(?: [1-5]| 6[0-36-9] ) - ', - 'pattern' => '(\\d{2})(\\d{7})' + ' }, { 'pattern' => '(2024)(\\d{5})', @@ -56,9 +56,6 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(90[123]\\d{6})', 'fixed_line' => ' 20(?: [0147]\\d{2}| @@ -76,6 +73,9 @@ my $validators = { )\\d{4}| [34]\\d{8} ', + 'pager' => '', + 'voip' => '', + 'toll_free' => '800[123]\\d{5}', 'geographic' => ' 20(?: [0147]\\d{2}| @@ -93,7 +93,7 @@ my $validators = { )\\d{4}| [34]\\d{8} ', - 'voip' => '', + 'personal_number' => '', 'mobile' => ' 7(?: (?: @@ -108,7 +108,7 @@ my $validators = { ) )\\d{5} ', - 'toll_free' => '800[123]\\d{5}' + 'specialrate' => '(90[123]\\d{6})' }; my %areanames = ( 25641 => "Kampala", diff --git a/lib/Number/Phone/StubCountry/US.pm b/lib/Number/Phone/StubCountry/US.pm index 72ea911fadbff0cce2de81b3bfd077bbbe7ebe59..ab621e422389152d2c918077a55ddac62a3351ca 100644 --- a/lib/Number/Phone/StubCountry/US.pm +++ b/lib/Number/Phone/StubCountry/US.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -35,6 +35,18 @@ my $formatters = [ my $validators = { 'voip' => '', + 'pager' => '', + 'personal_number' => ' + 5(?: + 00| + 22| + 33| + 44| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'geographic' => '( (?: 2(?: @@ -89,7 +101,7 @@ my $validators = { 5[017]| 6[0-279]| 78| - 8[12] + 8[012] )| 7(?: 0[1-46-8]| @@ -177,7 +189,7 @@ my $validators = { 5[017]| 6[0-279]| 78| - 8[12] + 8[012] )| 7(?: 0[1-46-8]| @@ -215,20 +227,9 @@ my $validators = { 'toll_free' => ' 8(?: 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'pager' => '', - 'personal_number' => ' - 5(?: - 00| - 22| 33| 44| + 55| 66| 77| 88 diff --git a/lib/Number/Phone/StubCountry/UY.pm b/lib/Number/Phone/StubCountry/UY.pm index c77026489e2b548c66fb1441fb229c938b08ec0f..d29af4d7173659cf10d38cfbedfdaa9eefbeb8f5 100644 --- a/lib/Number/Phone/StubCountry/UY.pm +++ b/lib/Number/Phone/StubCountry/UY.pm @@ -22,38 +22,38 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { - 'leading_digits' => '[24]', - 'pattern' => '(\\d{4})(\\d{4})' + 'pattern' => '(\\d{4})(\\d{4})', + 'leading_digits' => '[24]' }, { - 'leading_digits' => '9[1-9]', - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})' + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'leading_digits' => '9[1-9]' }, { - 'leading_digits' => '[89]0', - 'pattern' => '(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{4})', + 'leading_digits' => '[89]0' } ]; my $validators = { + 'voip' => '', 'pager' => '', - 'personal_number' => '', - 'specialrate' => '(90[0-8]\\d{4})', 'fixed_line' => ' 2\\d{7}| 4[2-7]\\d{6} ', + 'mobile' => '9[1-9]\\d{6}', + 'specialrate' => '(90[0-8]\\d{4})', + 'toll_free' => '80[05]\\d{4}', + 'personal_number' => '', 'geographic' => ' 2\\d{7}| 4[2-7]\\d{6} - ', - 'voip' => '', - 'mobile' => '9[1-9]\\d{6}', - 'toll_free' => '80[05]\\d{4}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/UZ.pm b/lib/Number/Phone/StubCountry/UZ.pm index 0961a4e664deb5b79bc176aa6e1a331738fef803..f7880e6a577ebd84c1f01caa60c2e910954b0954 100644 --- a/lib/Number/Phone/StubCountry/UZ.pm +++ b/lib/Number/Phone/StubCountry/UZ.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,10 +31,6 @@ my $formatters = [ ]; my $validators = { - 'pager' => '', - 'personal_number' => '', - 'specialrate' => '', - 'voip' => '', 'fixed_line' => ' (?: 6(?: @@ -109,6 +105,9 @@ my $validators = { ) )\\d{5} ', + 'voip' => '', + 'pager' => '', + 'personal_number' => '', 'geographic' => ' (?: 6(?: @@ -183,6 +182,7 @@ my $validators = { ) )\\d{5} ', + 'toll_free' => '', 'mobile' => ' 6(?: 1(?: @@ -424,7 +424,7 @@ my $validators = { )\\d{4}| 9[0-57-9]\\d{7} ', - 'toll_free' => '' + 'specialrate' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/VA.pm b/lib/Number/Phone/StubCountry/VA.pm index 23edbe0ca7bc32d24e0e2db8066eae3f4504c6b0..891e05b0140c02ee991dc24c968b12e96ab8d9c5 100644 --- a/lib/Number/Phone/StubCountry/VA.pm +++ b/lib/Number/Phone/StubCountry/VA.pm @@ -22,18 +22,27 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = []; my $validators = { + 'fixed_line' => '06698\\d{5}', + 'voip' => '55\\d{8}', 'pager' => '', + 'toll_free' => ' + 80(?: + 0\\d{6}| + 3\\d{3} + ) + ', 'personal_number' => ' 1(?: 78\\d| 99 )\\d{6} ', + 'geographic' => '06698\\d{5}', 'specialrate' => '( 84(?: [08]\\d{6}| @@ -58,15 +67,6 @@ my $validators = { 9\\d{6} ) )', - 'voip' => '55\\d{8}', - 'geographic' => '06698\\d{5}', - 'fixed_line' => '06698\\d{5}', - 'toll_free' => ' - 80(?: - 0\\d{6}| - 3\\d{3} - ) - ', 'mobile' => ' 3(?: [12457-9]\\d{8}| diff --git a/lib/Number/Phone/StubCountry/VC.pm b/lib/Number/Phone/StubCountry/VC.pm index 587a039ccf5b58ed082674538c2871568f7cf1d1..49e1d5f9b169536d29ac5829972db2ca6c0164ed 100644 --- a/lib/Number/Phone/StubCountry/VC.pm +++ b/lib/Number/Phone/StubCountry/VC.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -34,7 +34,6 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '(900[2-9]\\d{6})', 'personal_number' => ' 5(?: 00| @@ -46,32 +45,6 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '', - 'mobile' => ' - 784(?: - 4(?: - 3[0-4]| - 5[45]| - 89| - 9[0-58] - )| - 5(?: - 2[6-9]| - 3[0-4] - ) - )\\d{4} - ', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'voip' => '', 'geographic' => ' 784(?: 266| @@ -93,6 +66,32 @@ my $validators = { 638| 784 )\\d{4} + ', + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 784(?: + 4(?: + 3[0-4]| + 5[45]| + 89| + 9[0-58] + )| + 5(?: + 2[6-9]| + 3[0-4] + ) + )\\d{4} ', 'fixed_line' => ' 784(?: @@ -115,7 +114,9 @@ my $validators = { 638| 784 )\\d{4} - ' + ', + 'voip' => '', + 'pager' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/VE.pm b/lib/Number/Phone/StubCountry/VE.pm index 5011af87b40ba2468e17770a7be52c78fff9575c..718247d45220d323836cbef444de89e0200b2304 100644 --- a/lib/Number/Phone/StubCountry/VE.pm +++ b/lib/Number/Phone/StubCountry/VE.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173054; my $formatters = [ { @@ -31,10 +31,15 @@ my $formatters = [ ]; my $validators = { - 'personal_number' => '', - 'pager' => '', + 'mobile' => ' + 4(?: + 1[24-8]| + 2[46] + )\\d{7} + ', 'specialrate' => '(900\\d{7})', - 'voip' => '', + 'toll_free' => '800\\d{7}', + 'personal_number' => '', 'geographic' => ' (?: 2(?: @@ -47,6 +52,8 @@ my $validators = { 50[01] )\\d{7} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 2(?: @@ -58,13 +65,6 @@ my $validators = { )| 50[01] )\\d{7} - ', - 'toll_free' => '800\\d{7}', - 'mobile' => ' - 4(?: - 1[24-8]| - 2[46] - )\\d{7} ' }; my %areanames = ( diff --git a/lib/Number/Phone/StubCountry/VG.pm b/lib/Number/Phone/StubCountry/VG.pm index c6e51b60e9e6ec1c9dd8dd7b6288104061e5c921..bb272d9ce2c771263aa52cf648d5d4248c4616cf 100644 --- a/lib/Number/Phone/StubCountry/VG.pm +++ b/lib/Number/Phone/StubCountry/VG.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { @@ -34,36 +34,7 @@ my $formatters = [ ]; my $validators = { - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', - 'mobile' => ' - 284(?: - (?: - 3(?: - 0[0-3]| - 4[0-7]| - 68| - 9[34] - )| - 4(?: - 4[0-6]| - 68| - 99 - )| - 54[0-57] - )\\d{4}| - 496[6-9]\\d{3} - ) - ', - 'geographic' => ' + 'fixed_line' => ' 284(?: (?: 229| @@ -80,7 +51,9 @@ my $validators = { 496[0-5]\\d{3} ) ', - 'fixed_line' => ' + 'pager' => '', + 'voip' => '', + 'geographic' => ' 284(?: (?: 229| @@ -97,8 +70,6 @@ my $validators = { 496[0-5]\\d{3} ) ', - 'voip' => '', - 'specialrate' => '(900[2-9]\\d{6})', 'personal_number' => ' 5(?: 00| @@ -110,7 +81,37 @@ my $validators = { 88 )[2-9]\\d{6} ', - 'pager' => '' + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', + 'specialrate' => '(900[2-9]\\d{6})', + 'mobile' => ' + 284(?: + (?: + 3(?: + 0[0-3]| + 4[0-7]| + 68| + 9[34] + )| + 4(?: + 4[0-6]| + 68| + 99 + )| + 54[0-57] + )\\d{4}| + 496[6-9]\\d{3} + ) + ' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/VI.pm b/lib/Number/Phone/StubCountry/VI.pm index 8a0320b9a6cd777e7ad906a3abefb857244f2cb8..5cf7508056ab44e1bd0ce9a8344a4af545097423 100644 --- a/lib/Number/Phone/StubCountry/VI.pm +++ b/lib/Number/Phone/StubCountry/VI.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { @@ -34,6 +34,17 @@ my $formatters = [ ]; my $validators = { + 'toll_free' => ' + 8(?: + 00| + 33| + 44| + 55| + 66| + 77| + 88 + )[2-9]\\d{6} + ', 'geographic' => '( 340(?: 2(?: @@ -103,17 +114,6 @@ my $validators = { 998 )\\d{4} )', - 'voip' => '', - 'toll_free' => ' - 8(?: - 00| - 44| - 55| - 66| - 77| - 88 - )[2-9]\\d{6} - ', 'personal_number' => ' 5(?: 00| @@ -125,8 +125,9 @@ my $validators = { 88 )[2-9]\\d{6} ', + 'specialrate' => '(900[2-9]\\d{6})', 'pager' => '', - 'specialrate' => '(900[2-9]\\d{6})' + 'voip' => '' }; use Number::Phone::NANP::Data; sub areaname { diff --git a/lib/Number/Phone/StubCountry/VN.pm b/lib/Number/Phone/StubCountry/VN.pm index 7f0cd396acb967debf3e68c3fdd8c9eb1a381ca2..5847c5a8c1ec030f402b230ad582c5ff6db2eb9d 100644 --- a/lib/Number/Phone/StubCountry/VN.pm +++ b/lib/Number/Phone/StubCountry/VN.pm @@ -22,50 +22,50 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { - 'pattern' => '([17]99)(\\d{4})', - 'leading_digits' => '[17]99' + 'leading_digits' => '[17]99', + 'pattern' => '([17]99)(\\d{4})' }, { + 'pattern' => '([48])(\\d{4})(\\d{4})', 'leading_digits' => ' 4| 8(?: [1-57]| [689][0-79] ) - ', - 'pattern' => '([48])(\\d{4})(\\d{4})' + ' }, { - 'pattern' => '([235-7]\\d)(\\d{4})(\\d{3})', 'leading_digits' => ' 2[025-79]| 3[0136-9]| 5[2-9]| 6[0-46-8]| 7[02-79] - ' + ', + 'pattern' => '([235-7]\\d)(\\d{4})(\\d{3})' }, { - 'pattern' => '(80)(\\d{5})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(80)(\\d{5})' }, { 'leading_digits' => '69', 'pattern' => '(69\\d)(\\d{4,5})' }, { - 'pattern' => '([235-7]\\d{2})(\\d{4})(\\d{3})', 'leading_digits' => ' 2[1348]| 3[25]| 5[01]| 65| 7[18] - ' + ', + 'pattern' => '([235-7]\\d{2})(\\d{4})(\\d{3})' }, { 'pattern' => '([89]\\d)(\\d{3})(\\d{2})(\\d{2})', @@ -85,32 +85,19 @@ my $formatters = [ 'pattern' => '(1[2689]\\d)(\\d{3})(\\d{4})' }, { - 'leading_digits' => '1[89]0', - 'pattern' => '(1[89]00)(\\d{4,6})' + 'pattern' => '(1[89]00)(\\d{4,6})', + 'leading_digits' => '1[89]0' } ]; my $validators = { - 'mobile' => ' - (?: - 9\\d| - 1(?: - 2\\d| - 6[2-9]| - 8[68]| - 99 - ) - )\\d{7}| - 8[689]8\\d{6} - ', - 'toll_free' => '1800\\d{4,6}', - 'voip' => '', - 'geographic' => ' + 'fixed_line' => ' (?: 2(?: [025-79]| - 1[0189]| - [348][01] + 1[0-689]| + 3\\d| + [48][01] )| 3(?: [0136-9]| @@ -135,12 +122,16 @@ my $validators = { [689][0-79] )\\d{6} ', - 'fixed_line' => ' + 'voip' => '', + 'pager' => '', + 'personal_number' => '', + 'geographic' => ' (?: 2(?: [025-79]| - 1[0189]| - [348][01] + 1[0-689]| + 3\\d| + [48][01] )| 3(?: [0136-9]| @@ -164,24 +155,48 @@ my $validators = { [1-57]\\d| [689][0-79] )\\d{6} + ', + 'toll_free' => '1800\\d{4,6}', + 'mobile' => ' + (?: + 9\\d| + 1(?: + 2\\d| + 6[2-9]| + 8[68]| + 99 + ) + )\\d{7}| + 8[689]8\\d{6} ', 'specialrate' => '(1900\\d{4,6})|( [17]99\\d{4}| 69\\d{5,6}| 80\\d{5} - )', - 'personal_number' => '', - 'pager' => '' + )' }; my %areanames = ( 8420 => "Lao\ Cai\ province", 84210 => "Phu\ Tho\ province", 84211 => "Vinh\ Phuc\ province", + 84212 => "Son\ La\ province", + 84213 => "Lai\ Chau\ province", + 84214 => "Lao\ Cai\ province", + 84215 => "Dien\ Bien\ province", + 84216 => "Yen\ Bai\ province", 84218 => "Hoa\ Binh\ province", 84219 => "Ha\ Giang\ province", 8422 => "Son\ La\ province", 84230 => "Dien\ Bien\ province", 84231 => "Lai\ Chau\ province", + 84232 => "Quang\ Binh\ province", + 84233 => "Quang\ Tri\ province", + 84234 => "Thua\ Thien\-Hue\ province", + 84235 => "Quang\ Nam\ province", + 84236 => "Da\ Nang", + 84237 => "Thanh\ Hoa\ province", + 84238 => "Nghe\ An\ province", + 84239 => "Ha\ Tinh\ province", 84240 => "Bac\ Giang\ province", 84241 => "Bac\ Ninh\ province", 8425 => "Lang\ Son\ province", diff --git a/lib/Number/Phone/StubCountry/VU.pm b/lib/Number/Phone/StubCountry/VU.pm index 9d27458d63e627c5dd93c9f433ebee770b9f93dc..3121a2fe252d6bab115cf13cc63205ddb8e68e17 100644 --- a/lib/Number/Phone/StubCountry/VU.pm +++ b/lib/Number/Phone/StubCountry/VU.pm @@ -22,23 +22,30 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { - 'leading_digits' => '[579]', - 'pattern' => '(\\d{3})(\\d{4})' + 'pattern' => '(\\d{3})(\\d{4})', + 'leading_digits' => '[579]' } ]; my $validators = { - 'personal_number' => '', - 'pager' => '', + 'mobile' => ' + (?: + 5(?: + 7[2-5]| + [0-689]\\d + )| + 7[013-7]\\d + )\\d{4} + ', 'specialrate' => '( 3[03]\\d{3}| 900\\d{4} )', - 'fixed_line' => ' + 'geographic' => ' (?: 2[02-9]\\d| 3(?: @@ -49,7 +56,11 @@ my $validators = { 88\\d )\\d{2} ', - 'geographic' => ' + 'personal_number' => '', + 'toll_free' => '', + 'pager' => '', + 'voip' => '', + 'fixed_line' => ' (?: 2[02-9]\\d| 3(?: @@ -59,18 +70,7 @@ my $validators = { 48[4-9]| 88\\d )\\d{2} - ', - 'voip' => '', - 'mobile' => ' - (?: - 5(?: - 7[2-5]| - [0-689]\\d - )| - 7[013-7]\\d - )\\d{4} - ', - 'toll_free' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/WF.pm b/lib/Number/Phone/StubCountry/WF.pm index dddfc4835559f0c3cc9a57a1772f17ebcc802d17..38c13b455449d834cc13d34a412905263db3dcb3 100644 --- a/lib/Number/Phone/StubCountry/WF.pm +++ b/lib/Number/Phone/StubCountry/WF.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { @@ -31,33 +31,33 @@ my $formatters = [ ]; my $validators = { - 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', 'toll_free' => '', - 'mobile' => ' + 'personal_number' => '', + 'geographic' => ' (?: 50| 68| - 72| - 8[23] + 72 )\\d{4} ', - 'voip' => '', - 'geographic' => ' + 'mobile' => ' (?: 50| 68| - 72 + 72| + 8[23] )\\d{4} ', + 'specialrate' => '', 'fixed_line' => ' (?: 50| 68| 72 )\\d{4} - ' + ', + 'voip' => '', + 'pager' => '' }; sub new { diff --git a/lib/Number/Phone/StubCountry/WS.pm b/lib/Number/Phone/StubCountry/WS.pm index 51ad07cc1ccef0971b02d8f5bd3ca9d09a19f102..87f221387092a4a01286ab3ecc4fa9e5208db1ce 100644 --- a/lib/Number/Phone/StubCountry/WS.pm +++ b/lib/Number/Phone/StubCountry/WS.pm @@ -22,28 +22,32 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { - 'leading_digits' => '8', - 'pattern' => '(8\\d{2})(\\d{3,4})' + 'pattern' => '(8\\d{2})(\\d{3,4})', + 'leading_digits' => '8' }, { - 'leading_digits' => '7', - 'pattern' => '(7\\d)(\\d{5})' + 'pattern' => '(7\\d)(\\d{5})', + 'leading_digits' => '7' }, { - 'leading_digits' => '[2-6]', - 'pattern' => '(\\d{5})' + 'pattern' => '(\\d{5})', + 'leading_digits' => '[2-6]' } ]; my $validators = { - 'pager' => '', - 'personal_number' => '', + 'mobile' => ' + (?: + 60| + 7[25-7]\\d + )\\d{4} + ', 'specialrate' => '', - 'voip' => '', + 'personal_number' => '', 'geographic' => ' (?: [2-5]\\d| @@ -51,20 +55,16 @@ my $validators = { 84\\d{2} )\\d{3} ', + 'toll_free' => '800\\d{3}', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: [2-5]\\d| 6[1-9]| 84\\d{2} )\\d{3} - ', - 'mobile' => ' - (?: - 60| - 7[25-7]\\d - )\\d{4} - ', - 'toll_free' => '800\\d{3}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/YE.pm b/lib/Number/Phone/StubCountry/YE.pm index 249b155819cfe35281ba158c0c44c2bcd2eee0a7..1b8c6fc01549924434baec4c11774b1b76441d71 100644 --- a/lib/Number/Phone/StubCountry/YE.pm +++ b/lib/Number/Phone/StubCountry/YE.pm @@ -22,26 +22,27 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { + 'pattern' => '([1-7])(\\d{3})(\\d{3,4})', 'leading_digits' => ' [1-6]| 7[24-68] - ', - 'pattern' => '([1-7])(\\d{3})(\\d{3,4})' + ' }, { - 'leading_digits' => '7[0137]', - 'pattern' => '(7\\d{2})(\\d{3})(\\d{3})' + 'pattern' => '(7\\d{2})(\\d{3})(\\d{3})', + 'leading_digits' => '7[0137]' } ]; my $validators = { 'mobile' => '7[0137]\\d{7}', + 'specialrate' => '', 'toll_free' => '', - 'voip' => '', + 'personal_number' => '', 'geographic' => ' (?: 1(?: @@ -56,6 +57,8 @@ my $validators = { 7[24-68] )\\d{5} ', + 'voip' => '', + 'pager' => '', 'fixed_line' => ' (?: 1(?: @@ -69,10 +72,7 @@ my $validators = { 6[3-58]| 7[24-68] )\\d{5} - ', - 'specialrate' => '', - 'personal_number' => '', - 'pager' => '' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/YT.pm b/lib/Number/Phone/StubCountry/YT.pm index 5045f99995f092093236e397653553c726885347..34efe56c5d93ec6588e6139992e611f199b4c382 100644 --- a/lib/Number/Phone/StubCountry/YT.pm +++ b/lib/Number/Phone/StubCountry/YT.pm @@ -22,29 +22,29 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = []; my $validators = { - 'pager' => '', - 'personal_number' => '', + 'mobile' => '639\\d{6}', 'specialrate' => '', - 'fixed_line' => ' + 'toll_free' => '80\\d{7}', + 'personal_number' => '', + 'geographic' => ' 269(?: 6[0-4]| 50 )\\d{4} ', - 'geographic' => ' + 'voip' => '', + 'pager' => '', + 'fixed_line' => ' 269(?: 6[0-4]| 50 )\\d{4} - ', - 'voip' => '', - 'mobile' => '639\\d{6}', - 'toll_free' => '80\\d{7}' + ' }; sub new { diff --git a/lib/Number/Phone/StubCountry/ZA.pm b/lib/Number/Phone/StubCountry/ZA.pm index 901b7213e755949a841d74cdb0de072be6d2244c..962dbde429f4607b117462c56ff742ca94734647 100644 --- a/lib/Number/Phone/StubCountry/ZA.pm +++ b/lib/Number/Phone/StubCountry/ZA.pm @@ -22,30 +22,30 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { 'leading_digits' => '860', 'pattern' => '(860)(\\d{3})(\\d{3})' }, + { + 'leading_digits' => '8[1-4]', + 'pattern' => '(\\d{2})(\\d{3,4})' + }, + { + 'leading_digits' => '8[1-4]', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})' + }, { 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'leading_digits' => ' [1-79]| 8(?: - [0-47]| + [0-57]| 6[1-9] ) ' - }, - { - 'leading_digits' => '8[1-4]', - 'pattern' => '(\\d{2})(\\d{3,4})' - }, - { - 'leading_digits' => '8[1-4]', - 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})' } ]; @@ -53,36 +53,39 @@ my $validators = { 'fixed_line' => ' (?: 1[0-8]| - 2[0-378]| + 2[1-378]| 3[1-69]| 4\\d| 5[1346-8] )\\d{7} ', + 'pager' => '', + 'voip' => '87\\d{7}', 'geographic' => ' (?: 1[0-8]| - 2[0-378]| + 2[1-378]| 3[1-69]| 4\\d| 5[1346-8] )\\d{7} ', - 'voip' => '87\\d{7}', + 'personal_number' => '', + 'toll_free' => '80\\d{7}', + 'specialrate' => '(860\\d{6})|( + 86[2-9]\\d{6}| + 9[0-2]\\d{7} + )|(861\\d{6})', 'mobile' => ' (?: - 6[0-5]| + 6\\d| 7[0-46-9] )\\d{7}| - 8[1-4]\\d{3,7} - ', - 'toll_free' => '80\\d{7}', - 'personal_number' => '', - 'pager' => '', - 'specialrate' => '(860\\d{6})|( - 86[2-9]\\d{6}| - 90\\d{7} - )|(861\\d{6})' + 8(?: + [1-4]\\d{1,5}| + 5\\d{5} + )\\d{2} + ' }; my %areanames = ( 2710 => "Johannesburg", @@ -94,7 +97,6 @@ my %areanames = ( 2716 => "Vaal\ Triangle", 2717 => "Ermelo\/Secunda", 2718 => "Potchefstroom\/Klerksdorp", - 2720 => "Fraserberg\/Leeugamka\/Merweville", 2721 => "Cape\ Town", 2722 => "Malmesbury\/Vredenburg", 2723 => "Worcester\/Robertson", diff --git a/lib/Number/Phone/StubCountry/ZM.pm b/lib/Number/Phone/StubCountry/ZM.pm index 78ece5bc4bf988ccef61c25c76630f1c2a57209a..cebd3709d734917848300398d0867f2f6c3ca49c 100644 --- a/lib/Number/Phone/StubCountry/ZM.pm +++ b/lib/Number/Phone/StubCountry/ZM.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { @@ -37,18 +37,18 @@ my $formatters = [ my $validators = { 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '800\\d{6}', 'mobile' => ' 9(?: 5[034589]| [67]\\d )\\d{6} ', + 'personal_number' => '', + 'geographic' => '21[1-8]\\d{6}', + 'toll_free' => '800\\d{6}', 'voip' => '', - 'fixed_line' => '21[1-8]\\d{6}', - 'geographic' => '21[1-8]\\d{6}' + 'pager' => '', + 'fixed_line' => '21[1-8]\\d{6}' }; my %areanames = ( 260211 => "Lusaka\ Province", diff --git a/lib/Number/Phone/StubCountry/ZW.pm b/lib/Number/Phone/StubCountry/ZW.pm index 050d29bfa02d1da4623c6f9fdb31334e3ae2900f..a043577d1e0b5a89348157985cb88da883a1ef4b 100644 --- a/lib/Number/Phone/StubCountry/ZW.pm +++ b/lib/Number/Phone/StubCountry/ZW.pm @@ -22,7 +22,7 @@ use base qw(Number::Phone::StubCountry); use strict; use warnings; use utf8; -our $VERSION = 1.20161206201833; +our $VERSION = 1.20170314173055; my $formatters = [ { @@ -41,7 +41,6 @@ my $formatters = [ 'pattern' => '(86\\d{2})(\\d{3})(\\d{3})' }, { - 'pattern' => '([2356]\\d{2})(\\d{3,5})', 'leading_digits' => ' 2(?: 0[45]| @@ -65,7 +64,8 @@ my $formatters = [ 75| [89]8 ) - ' + ', + 'pattern' => '([2356]\\d{2})(\\d{3,5})' }, { 'leading_digits' => ' @@ -91,48 +91,36 @@ my $formatters = [ 'pattern' => '([1-356]\\d)(\\d{3,5})' }, { + 'pattern' => '([235]\\d)(\\d{3})(\\d{3,4})', 'leading_digits' => ' [23]9| 54 - ', - 'pattern' => '([235]\\d)(\\d{3})(\\d{3,4})' + ' }, { - 'pattern' => '([25]\\d{3})(\\d{3,5})', 'leading_digits' => ' 258[23]| 5483 - ' + ', + 'pattern' => '([25]\\d{3})(\\d{3,5})' }, { 'pattern' => '(8\\d{3})(\\d{6})', 'leading_digits' => '86' }, { - 'pattern' => '(80\\d)(\\d{3})(\\d{4})', - 'leading_digits' => '80' + 'leading_digits' => '80', + 'pattern' => '(80\\d)(\\d{3})(\\d{4})' } ]; my $validators = { 'specialrate' => '', - 'pager' => '', - 'personal_number' => '', - 'toll_free' => '800\\d{7}', 'mobile' => ' 7[1378]\\d{7} ', - 'voip' => ' - 86(?: - 1[12]| - 30| - 44| - 55| - 77| - 8[367]| - 99 - )\\d{6} - ', + 'toll_free' => '800\\d{7}', + 'personal_number' => '', 'geographic' => ' (?: 2(?: @@ -227,6 +215,18 @@ my $validators = { 9[2-9]\\d{4,5} ) ', + 'voip' => ' + 86(?: + 1[12]| + 30| + 44| + 55| + 77| + 8[367]| + 99 + )\\d{6} + ', + 'pager' => '', 'fixed_line' => ' (?: 2(?: diff --git a/lib/Number/Phone/UK/Data.pm b/lib/Number/Phone/UK/Data.pm index 10d6a7699210967a6b8b928db22231c67d276b52..8936eb92559f31a8ba2aeb56e15b9bb525dae509 100644 Binary files a/lib/Number/Phone/UK/Data.pm and b/lib/Number/Phone/UK/Data.pm differ diff --git a/t/example-phone-numbers.t b/t/example-phone-numbers.t index 6bd5f5af7fdbd18add3890e4969491f3ba4469b4..636f3eefe50c3c21da11ae1ad445a1809201c8bd 100644 --- a/t/example-phone-numbers.t +++ b/t/example-phone-numbers.t @@ -1454,18 +1454,18 @@ { class => 'Number::Phone::Lib', args => ['HR','+38512345678'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['HR','012345678'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['+38512345678'], methods => ['is_fixed_line'] }, -{ class => 'Number::Phone::Lib', args => ['HR','+385912345678'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['HR','0912345678'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['+385912345678'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['HR','+3858001234567'], methods => ['is_tollfree'] }, -{ class => 'Number::Phone::Lib', args => ['HR','08001234567'], methods => ['is_tollfree'] }, -{ class => 'Number::Phone::Lib', args => ['+3858001234567'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['HR','+385921234567'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['HR','0921234567'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['+385921234567'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['HR','+385800123456'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['HR','0800123456'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['+385800123456'], methods => ['is_tollfree'] }, { class => 'Number::Phone::Lib', args => ['HR','+385611234'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['HR','0611234'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['+385611234'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['HR','+385741234567'], methods => ['is_personal'] }, -{ class => 'Number::Phone::Lib', args => ['HR','0741234567'], methods => ['is_personal'] }, -{ class => 'Number::Phone::Lib', args => ['+385741234567'], methods => ['is_personal'] }, +{ class => 'Number::Phone::Lib', args => ['HR','+38574123456'], methods => ['is_personal'] }, +{ class => 'Number::Phone::Lib', args => ['HR','074123456'], methods => ['is_personal'] }, +{ class => 'Number::Phone::Lib', args => ['+38574123456'], methods => ['is_personal'] }, { class => 'Number::Phone::Lib', args => ['HR','+38562123456'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['HR','062123456'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['+38562123456'], methods => ['is_specialrate'] }, @@ -1568,6 +1568,12 @@ { class => 'Number::Phone::Lib', args => ['IM','07924123456'], methods => ['is_mobile'] }, { class => 'Number::Phone', args => ['+447924123456'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['+447924123456'], methods => ['is_mobile'] }, +{ class => 'Number::Phone', args => ['IM','+447624212345'], methods => ['is_pager'] }, +{ class => 'Number::Phone::Lib', args => ['IM','+447624212345'], methods => ['is_pager'] }, +{ class => 'Number::Phone', args => ['IM','07624212345'], methods => ['is_pager'] }, +{ class => 'Number::Phone::Lib', args => ['IM','07624212345'], methods => ['is_pager'] }, +{ class => 'Number::Phone', args => ['+447624212345'], methods => ['is_pager'] }, +{ class => 'Number::Phone::Lib', args => ['+447624212345'], methods => ['is_pager'] }, { class => 'Number::Phone', args => ['IM','+448081624567'], methods => ['is_tollfree'] }, { class => 'Number::Phone::Lib', args => ['IM','+448081624567'], methods => ['is_tollfree'] }, { class => 'Number::Phone', args => ['IM','08081624567'], methods => ['is_tollfree'] }, @@ -1676,6 +1682,12 @@ { class => 'Number::Phone::Lib', args => ['IT','+395512345678'], methods => ['is_ipphone'] }, { class => 'Number::Phone::Lib', args => ['IT','5512345678'], methods => ['is_ipphone'] }, { class => 'Number::Phone::Lib', args => ['+395512345678'], methods => ['is_ipphone'] }, +{ class => 'Number::Phone', args => ['JE','+447797712345'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['JE','+447797712345'], methods => ['is_mobile'] }, +{ class => 'Number::Phone', args => ['JE','07797712345'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['JE','07797712345'], methods => ['is_mobile'] }, +{ class => 'Number::Phone', args => ['+447797712345'], methods => ['is_mobile'] }, +{ class => 'Number::Phone::Lib', args => ['+447797712345'], methods => ['is_mobile'] }, { class => 'Number::Phone', args => ['JE','+447640123456'], methods => ['is_pager'] }, { class => 'Number::Phone::Lib', args => ['JE','+447640123456'], methods => ['is_pager'] }, { class => 'Number::Phone', args => ['JE','07640123456'], methods => ['is_pager'] }, @@ -1823,18 +1835,18 @@ { class => 'Number::Phone::Lib', args => ['KI','+68672012345'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['KI','72012345'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['+68672012345'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['KI','+68630010000'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['KI','30010000'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['+68630010000'], methods => ['is_specialrate'] }, +{ class => 'Number::Phone::Lib', args => ['KI','+68630010000'], methods => ['is_ipphone'] }, +{ class => 'Number::Phone::Lib', args => ['KI','30010000'], methods => ['is_ipphone'] }, +{ class => 'Number::Phone::Lib', args => ['+68630010000'], methods => ['is_ipphone'] }, { class => 'Number::Phone::Lib', args => ['KM','+2697712345'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['KM','7712345'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['+2697712345'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['KM','+2693212345'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['KM','3212345'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['+2693212345'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['KM','+2699001234'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['KM','9001234'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['+2699001234'], methods => ['is_specialrate'] }, +{ class => 'Number::Phone::Lib', args => ['KM','+2698001234'], methods => ['is_specialrate'] }, +{ class => 'Number::Phone::Lib', args => ['KM','8001234'], methods => ['is_specialrate'] }, +{ class => 'Number::Phone::Lib', args => ['+2698001234'], methods => ['is_specialrate'] }, { class => 'Number::Phone', args => ['KN','+18692361234'], methods => ['is_fixed_line','is_geographic'] }, { class => 'Number::Phone::Lib', args => ['KN','+18692361234'], methods => ['is_fixed_line','is_geographic'] }, { class => 'Number::Phone', args => ['KN','8692361234'], methods => ['is_fixed_line','is_geographic'] }, @@ -2864,9 +2876,9 @@ { class => 'Number::Phone::Lib', args => ['SC','+2482510123'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['SC','2510123'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['+2482510123'], methods => ['is_mobile'] }, -{ class => 'Number::Phone::Lib', args => ['SC','+248800000'], methods => ['is_tollfree'] }, -{ class => 'Number::Phone::Lib', args => ['SC','800000'], methods => ['is_tollfree'] }, -{ class => 'Number::Phone::Lib', args => ['+248800000'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['SC','+2488000000'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['SC','8000000'], methods => ['is_tollfree'] }, +{ class => 'Number::Phone::Lib', args => ['+2488000000'], methods => ['is_tollfree'] }, { class => 'Number::Phone::Lib', args => ['SC','+2486412345'], methods => ['is_ipphone'] }, { class => 'Number::Phone::Lib', args => ['SC','6412345'], methods => ['is_ipphone'] }, { class => 'Number::Phone::Lib', args => ['+2486412345'], methods => ['is_ipphone'] }, @@ -2963,9 +2975,9 @@ { class => 'Number::Phone::Lib', args => ['SJ','+4701234'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['SJ','01234'], methods => ['is_specialrate'] }, { class => 'Number::Phone::Lib', args => ['+4701234'], methods => ['is_specialrate'] }, -{ class => 'Number::Phone::Lib', args => ['SK','+421212345678'], methods => ['is_fixed_line'] }, -{ class => 'Number::Phone::Lib', args => ['SK','0212345678'], methods => ['is_fixed_line'] }, -{ class => 'Number::Phone::Lib', args => ['+421212345678'], methods => ['is_fixed_line'] }, +{ class => 'Number::Phone::Lib', args => ['SK','+421221234567'], methods => ['is_fixed_line'] }, +{ class => 'Number::Phone::Lib', args => ['SK','0221234567'], methods => ['is_fixed_line'] }, +{ class => 'Number::Phone::Lib', args => ['+421221234567'], methods => ['is_fixed_line'] }, { class => 'Number::Phone::Lib', args => ['SK','+421912123456'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['SK','0912123456'], methods => ['is_mobile'] }, { class => 'Number::Phone::Lib', args => ['+421912123456'], methods => ['is_mobile'] }, diff --git a/t/inc/common-stub_and_libphonenumber_tests.pl b/t/inc/common-stub_and_libphonenumber_tests.pl index 8a9265b729b389c7d44dffb8f1295f1db410f45e..be5cc2050e5c857c569962f6852ab6e58162b744 100644 --- a/t/inc/common-stub_and_libphonenumber_tests.pl +++ b/t/inc/common-stub_and_libphonenumber_tests.pl @@ -82,4 +82,15 @@ isa_ok($no, "Number::Phone::StubCountry"); $no = $CLASS->new('+479690448'); # invalid, should be undef. NO has no national dialling prefix is($no, undef, "invalid numbers in countries with no national dialing prefix return undef from constructor"); +my $xk = $CLASS->new('+383123'); +skip_if_libphonenumber( + "libphonenumber doesn't support Kosovo's +383", 1, + sub { + ok($xk->is_valid(), "+383 (XK special-case in N::P's construction os stubs) can be instantiated"); + is($xk->country_code(), 383, "... has right country_code()"); + is($xk->country(), 'XK', "... has right country()"); + is($xk->is_mobile(), undef, "... falls through to parent for is_*()"); + } +); + 1; diff --git a/t/libphonenumber.t b/t/libphonenumber.t index 0c6a178066ae3352a9c92b86e68a64349ac68421..1242ae369b51756d598fa9adaedd6f54ec1ec4a3 100644 --- a/t/libphonenumber.t +++ b/t/libphonenumber.t @@ -51,12 +51,12 @@ is($gb->country_code(), 44, "$CLASS->new('$uk')->country_code()"); is($gb->country(), 'GB', "$CLASS->new('$uk')->country()"); is($gb->format(), '+44 1275 939345', "$CLASS->new('$uk')->format()"); -my $ukim = '+447624376698'; # Isle of Man +my $ukim = '+447624212345'; # Isle of Man my $im = $CLASS->new($ukim); isa_ok $im, 'Number::Phone::StubCountry::IM'; is($im->country_code(), 44, "$CLASS->new('$ukim')->country_code()"); is($im->country(), 'IM', "$CLASS->new('$ukim')->country()"); -is($im->format(), '+44 7624 376698', "$CLASS->new('$ukim')->format()"); +is($im->format(), '+44 7624 212345', "$CLASS->new('$ukim')->format()"); my $ukgg = '+441481723153'; # Guernsey my $gg = $CLASS->new($ukgg); diff --git a/t/number-phone-country.t b/t/number-phone-country.t index fc0de6d15ed25ffd0db3ee6be01f040a65f638c9..5d4d444fe634c2cd78f428460d85959bcedfd698 100644 --- a/t/number-phone-country.t +++ b/t/number-phone-country.t @@ -178,21 +178,22 @@ is(phone2country('+374123'), 'AM', '+374 is AM'); is(phone2country('+375123'), 'BY', '+375 is BY'); is(phone2country('+376123'), 'AD', '+376 is AD'); is(phone2country('+377123'), 'MC', '+377 is MC'); -is(phone2country('+37744123'), 'KOS', '+377 44 is KOS'); -is(phone2country('+37745123'), 'KOS', '+377 45 is KOS'); +is(phone2country('+37744123'), 'XK', '+377 44 is XK'); +is(phone2country('+37745123'), 'XK', '+377 45 is XK'); is(phone2country('+378123'), 'SM', '+378 is SM'); is(phone2country('+379123'), 'VA', '+379 is VA'); is(phone2country('+380123'), 'UA', '+380 is UA'); is(phone2country('+381123'), 'RS', '+381 is RS'); -is(phone2country('+38128123'), 'KOS', '+381 28 is KOS'); -is(phone2country('+38129123'), 'KOS', '+381 29 is KOS'); -is(phone2country('+38138123'), 'KOS', '+381 38 is KOS'); -is(phone2country('+38139123'), 'KOS', '+381 39 is KOS'); +is(phone2country('+38128123'), 'XK', '+381 28 is XK'); +is(phone2country('+38129123'), 'XK', '+381 29 is XK'); +is(phone2country('+38138123'), 'XK', '+381 38 is XK'); +is(phone2country('+38139123'), 'XK', '+381 39 is XK'); is(phone2country('+382123'), 'ME', '+382 is ME'); +is(phone2country('+383123'), 'XK', '+383 is XK'); is(phone2country('+385123'), 'HR', '+385 is HR'); is(phone2country('+386123'), 'SI', '+386 is SI'); -is(phone2country('+38643123'), 'KOS', '+386 43 is KOS'); -is(phone2country('+38649123'), 'KOS', '+386 44 is KOS'); +is(phone2country('+38643123'), 'XK', '+386 43 is XK'); +is(phone2country('+38649123'), 'XK', '+386 44 is XK'); is(phone2country('+387123'), 'BA', '+387 is BA'); is(phone2country('+389123'), 'MK', '+389 is MK'); is(phone2country('+39123') , 'IT', '+39 is IT'); diff --git a/t/weird_little_islands.t b/t/weird_little_islands.t index 0137dca289dca16ebf5b5c7b6b0a62ad54dc1d1d..a7a890c4c1b790738da084b978d4036f135e1c2e 100644 --- a/t/weird_little_islands.t +++ b/t/weird_little_islands.t @@ -14,7 +14,7 @@ my $data = { JE => { mobile => '+44 7509000000', geographic => '+44 1534 440000', - operator => 'Jersey Telecom', + operator => 'JT (Jersey) Limited', regulator => 'Office of Utility Regulation, http://www.cicra.gg' }, GG => { @@ -27,7 +27,7 @@ my $data = { mobile => '+44 7624000000', geographic => '+44 1624 500000', specialrate => '+44 8456247890', - operator => 'Manx Telecom', + operator => 'Manx Telecom Trading Limited', regulator => 'Isle of Man Communications Commission, http://www.gov.im/government/boards/telecommunications.xml' }, };