App-Widget
view release on metacpan or search on metacpan
lib/App/Widget/ValidatedTextField.pm view on Meta::CPAN
sub format_phone {
my ($self, $phonetext) = @_;
return "" if (!$phonetext);
return $phonetext if ($phonetext =~ /^[0-9]{3}-[0-9]{3}-[0-9]{4}$/); # correct format: 213-394-8654
my ($phone, $ext);
$phone = $phonetext;
$phone =~ s/^ +//; # delete leading spaces
$phone =~ s/ +$//; # delete trailing spaces
$phone =~ s![- \(\)/]!!g; # delete common telephone number delimiters
if ($phone =~ /^1?([0-9]{3})([0-9]{3})([0-9]{4})$/) { # i.e. 1-800-732-4556, 770/933-0551, 404 4322664
$phone = "$1-$2-$3";
}
elsif ($phone =~ /^1?([0-9]{3})([0-9]{3})([0-9]{4})([^0-9].*)/) { # i.e. 404-432-2664 x352
$phone = "$1-$2-$3";
$ext = $4;
$ext =~ s/^ +//; # delete leading spaces
$ext =~ s/ +$//; # delete trailing spaces
$phone .= " $ext"; # put the extension back on with a space
}
elsif ($phone =~ /^([0-9]{3})([0-9]{4})$/) { # i.e. 933-0551, 4322664
$phone = "$1-$2";
}
elsif ($phone =~ /^([0-9]{3})([0-9]{4})([^0-9].*)/) { # i.e. 432-2664 x352
( run in 1.123 second using v1.01-cache-2.11-cpan-39bf76dae61 )