我正在开发一个功能来验证用户提交的美国电话号码,它可以以人们通常使用的任何流行的号码格式提交。到目前为止,我的代码如下:
$number = '123-456-7890';
function validate_telephone_number($number) {
$formats = array(
'###-###-####',
'(###)###-###',
'(###) ###-###',
'##########'
);
$number = trim(preg_replace('[0-9]', '#', $number));
if (in_array($number, $formats)) {
return true;
} else {
return false;
}
}
首先,此代码似乎不起作用,并在所有提交的数字上返回 false。我似乎找不到我的错误。
其次,我正在寻找一种简单的方法来仅允许来自特定允许区号数组的电话号码。有任何想法吗?