|
our $VERSION = 1.20250323211816;
my $formatters = [
{
'format' => '$1 $2' ,
'leading_digits' => '
[13679]|
8[02-4679]
',
'pattern' => '(\\d{4})(\\d{4})'
}
];
my $validators = {
'fixed_line' => '
(?:
1(?:
3[1356]|
6[0156]|
7\\d
)\\d|
6(?:
1[16]\\d|
500|
6(?:
0\\d|
3[12]|
44|
55|
7[7-9]|
88
)|
9[69][69]
)|
7(?:
[07]\\d\\d|
1(?:
11|
78
)
)
)\\d{4}
',
'geographic' => '
(?:
1(?:
3[1356]|
6[0156]|
7\\d
)\\d|
6(?:
1[16]\\d|
500|
6(?:
0\\d|
3[12]|
44|
55|
7[7-9]|
88
)|
9[69][69]
)|
7(?:
[07]\\d\\d|
1(?:
11|
78
)
)
)\\d{4}
',
'mobile' => '
(?:
3(?:
[0-79]\\d|
8[0-57-9]
)\\d|
6(?:
3(?:
00|
33|
6[16]
)|
441|
6(?:
3[03-9]|
[69]\\d|
7[0-689]
)
)
)\\d{4}
',
'pager' => '' ,
'personal_number' => '' ,
'specialrate' => '(84\\d{6})|(
(?:
87|
9[0-8]
)\\d{6}
)',
'toll_free' => '8[02369]\\d{6}' ,
'voip' => ''
};
my $timezones = {
'' => [
'Asia/Bahrain'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+973|\D)//g;
my $self = bless ({ country_code => '973' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|