0

编辑:我不需要电话号码的正则表达式,我已经有了。我需要的是帮助理解如何将其插入到我上面链接的现有代码中。如果您真的阅读了我的问题,您会发现我正在尝试了解我需要在原始代码中修改的内容,而不仅仅是在不知道如何处理的情况下复制和粘贴其他人的正则表达式。谢谢!编辑 x2:我想通了.. 无论如何谢谢。(请看下面的答案)

我有一段代码可以确保电话字段中有内容:

if (!empty($_POST['hphone'])) {$hphone = $_POST['hphone'];} else {$hphone = NULL; echo '<span class="error">Please enter a home phone number.</span><br />';}

为了更准确,我想我会尝试让它检查它是否是一个有效的电话号码。我找到了一个例子并尝试将它们结合起来:

if (!empty($_POST['hphone']) && !preg_match("/^([1]-)?[0-9]{3}-[0-9]{3}-[0-9]{4}$/i", $phone)) {$hphone = $_POST['hphone'];} else {$hphone = NULL; echo '<span class="error">Please enter a home phone number.</span><br />';}

这在表单仍然提交但它没有捕捉到该字段中有一封信时起作用。它只是提交。我对其进行了更多修改,使其显示没有有效数字,即使它是。我不是 PHP 专家,所以我只是想通过我必须工作的内容和其他人的示例来做对我有意义的事情。对不起,关于这个的另一个帖子,但我找不到我所追求的。谢谢!

回答:我最终以不同的方式解决了这个问题。以下是对我有用的代码:

if (preg_match("/^([1]-)?[0-9]{3}-[0-9]{3}-[0-9]{4}$/i", $_POST['hphone'])) { $hphone = $_POST['hphone']; } else { $hphone = NULL; echo '<span class="error">invalid</span>'; }
4

0 回答 0