【发布时间】:2012-07-28 23:33:22
【问题描述】:
我目前正在验证美国电话号码。问题是下面的代码总是在有效或无效输入 Please enter a valid phone number 之后回显。我的代码的基本逻辑是我正在检查 preg_match 以查看是否有匹配的有效数字。 Example
我该如何解决这个问题,或者是否有更好的方法来验证电话号码?
另外,是否可以回显格式如下的数字:(123)456-7890?
PHP:
if (isset($_POST['phone'])) {
if(preg_match('/^(\({1}\d{3}\){1}|\d{3})(\s|-|.)\d{3}(\s|-|.)\d{4}$/',$phone)) {
echo ('<div id="phone_input"><span id="resultval">'.$phone.'</span></div>');
}
else {
echo '<div id="phone_input"><span id="resultval">Please enter a valid phone number</span></div>';
}
}
【问题讨论】:
-
只需删除非数字并将其格式化为您想要的格式。像我这样的懒人不喜欢输入标点符号。
标签: php