|
our $VERSION = 1.20250323211817;
my $formatters = [
{
'format' => '$1 $2' ,
'intl_format' => 'NA' ,
'leading_digits' => '[2-7]' ,
'pattern' => '(\\d{3})(\\d{3})'
},
{
'format' => '$1 $2 $3' ,
'leading_digits' => '
[2-68]|
7[246]
',
'pattern' => '(\\d)(\\d{3})(\\d{3})'
},
{
'format' => '$1 $2 $3 $4' ,
'leading_digits' => '
1[67]|
7
',
'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})'
}
];
my $validators = {
'fixed_line' => '
(?:
2[3-6]|
[34][5-7]|
5[236]|
6[2-46]|
7[246]|
8[2-4]
)\\d{5}
',
'geographic' => '
(?:
2[3-6]|
[34][5-7]|
5[236]|
6[2-46]|
7[246]|
8[2-4]
)\\d{5}
',
'mobile' => '
(?:
1[67]|
77
)\\d{6}
',
'pager' => '' ,
'personal_number' => '' ,
'specialrate' => '' ,
'toll_free' => '' ,
'voip' => ''
};
my %areanames = ();
$areanames {en} = { "9752" , "Thimphu" ,
"97576" , "Samdrup\ Jongkhar" ,
"97574" , "Samdrup\ Jongkhar" ,
"9753" , "Trongsa" ,
"9756" , "Gelephu" ,
"9758" , "Paro" ,
"9755" , "Phuentsholing" ,
"97572" , "Samdrup\ Jongkhar" ,
"9754" , "Trashigang" ,};
my $timezones = {
'' => [
'Asia/Thimphu'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+975|\D)//g;
my $self = bless ({ country_code => '975' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , areanames => \ %areanames }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|