in reply to Simple Regex
Since there seems to be no standard place for the 'Q' or the 'Z' on the numeric keypad, I put them where I like them; sequentially. I've seen some phones that put them both on the nine or the zero, for some reason passing understanding. If you want them somewhere else, I won't complain.sub format_phone { my @out = @_; foreach (@out){ tr/a-cA-C/2/; tr/d-fD-F/3/; # change letters to digits. tr/g-iG-I/4/; tr/j-lJ-L/5/; tr/m-oM-O/6/; tr/p-sP-S/7/; tr/t-vT-V/8/; tr/w-zW-Z/9/; s/[^\d]//g; # remove non-digits. s/^1//g; # remove first digit if it's a one. $_ = pack( 'A10', $_ ); # Only take the first ten digits. } return wantarray ? @out : $out[0]; }
|
|---|