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 )