- substr: documentation ( source)
- var_dump: documentation ( source)
- is_numeric: documentation ( source)
- str_split: documentation ( source)
<?php
function ReformatPhoneNumber($number)
{
if (!IsValidNumber($number)) {
throw new \Exception('Invalid phone number');
}
echo $number;
}
function IsValidNumber($number)
{
$validChars = array(' ', '-');
if (!is_numeric(substr($number, 0, 1))
|| !is_numeric(substr($number, strlen($number) - 1, 1))
) {
return false;
}
$delimiterFlag = false;
foreach (str_split($number) as $digit) {
var_dump(is_numeric($digit));
/*if (!is_numeric($digit) || !in_array($digit, $validChars)) {
return false;
}*/
/*if (in_array($digit, $validChars)) {
if ($delimiterFlag) {
return false;
}
$delimiterFlag = true;
} else {
$delimiterFlag = false;
}*/
}
return true;
}
echo ReformatPhoneNumber('012-345 69');