1

对于一个班级,我需要为电话号码做一个 preg_match 。数字必须与此格式 (###) ###-#### 匹配。如果格式不正确,我需要将用户发送到表单以再次填写号码。如果找到匹配项,我需要允许表单通过。

我的导师让我们这样写:

$PhonePattern = "\(\d\d\d\) \d\d\d-\d\d\d\d";
if (!preg_match($PhonePattern, $Phone))
{
header('location:CreateAccount.htm');
exit();
}
else 
{
$Phone = $_GET['txtPhone'];
}

这不起作用。可以改成:

if (!preg_match('/\(\d\d\d\) \d\d\d-\d\d\d\d/', $Phone))
{
header('location:CreateAccount.htm');
exit();
}
else 
{
$Phone = $_GET['txtPhone'];
}
4

1 回答 1

1

以下是一种方式:

'/^\(\d{3}) \d{3}-\d{4}$/'

我添加了锚点重复。否则,你很接近。

了解更多关于正则表达式的信息。它们是一种电动工具。但权力越大,责任越大

于 2012-10-10T17:01:36.683 回答