phone.ca.inc in Phone 5
Same filename and directory in other branches
File
phone.ca.incView source
<?php
/**
* Verifies that $phonenumber is a valid ten-digit North American phone number
*
* @param string $phonenumber
* @return boolean Returns boolean FALSE if the phone number is not valid.
*/
function valid_ca_phone_number($phonenumber) {
//$phonenumber = trim($phonenumber);
// define regular expression
$regex = "/\n \\D* # ignore non-digits\n 1? # an optional 1\n \\D* # optional separator \n [02-9]\\d{2} # area code (can't start with 1)\n \\D* # optional separator\n \\d{3} # 3-digit prefix\n \\D* # optional separator\n \\d{4} # 4-digit line number\n \\D* # optional separator\n \\d* # optional extension\n \\D* # ignore trailing non-digits\n /x";
// return true if valid, false otherwise
return (bool) preg_match($regex, $phonenumber);
}
/**
* Convert a valid North American phone number into standard (444) 867-5309 x1234 format
*
* @param $phonenumber must be a valid ten-digit number (with optional extension)
*
*/
function format_ca_phone_number($phonenumber, $field) {
// define regular expression
$regex = "/\n ^\\D* # ignore non-digits\n 1? # an optional 1\n \\D* # optional separator \n ([2-9]\\d{2}) # capture area code \n \\D* # optional separator\n ([2-9]\\d{2}) # capture 3-digit prefix\n \\D* # optional separator\n (\\d{4}) # capture 4-digit line number \n \\D* # optional separator\n (\\d*) # capture optional extension \n \\D*\$ # ignore trailing non-digits\n /x";
// get digits of phone number
preg_match($regex, $phonenumber, $matches);
// construct ten-digit phone number
$phonenumber = $matches[1] . '-' . $matches[2] . '-' . $matches[3];
// Optional extension
if ($matches[4] != '') {
$phonenumber .= $matches[4];
}
if ($field['phone_country_code']) {
if ($matches[1] != "1") {
$phonenumber = "1" . " " . $phonenumber;
}
}
return $phonenumber;
}
Functions
Name | Description |
---|---|
format_ca_phone_number | Convert a valid North American phone number into standard (444) 867-5309 x1234 format |
valid_ca_phone_number | Verifies that $phonenumber is a valid ten-digit North American phone number |