将HTML表单提交到PHP表单检查中


Submitting an HTML form into a PHP form check

所以现在我正试图创建一个HTML文件,该文件获取用户电话号码,然后通过PHP表单检查来检查输入的格式。我一直试图弄清楚这一点,但我仍然不清楚带有指定参数的int的格式

(重复的问题,但不同到可以说这只是其他问题的复制品。相同的问题,不同的方法,不同的答案。)

我的代码:(在代码中做了一个评论,我不确定该怎么办。)

if($_POST && isset($_POST['submit'], $_POST['name'], $_POST['phone'])) {
$name = $_POST['name'];
$phone = $_POST['phone'];
if(!$name) {
    $errorMsg = "Please enter your name";
} elseif(!$phone || !preg match("'d{3}['-]'d{7}", $email)){//this line format is incorrect
    $errorMsg = "Please enter a valid phone number";
    exit;
}
?>
<html>
<body>
<form method="POST">
Name:<br>
<input type="text" name="name">
<br>
Phone:<br>
<input type="tel"
pattern="'d{3}['-]'d{7}"
title="Phone Number (Format: 999-9999999)"
name="phone">
<input name="submit" type="submit" value="submit">

</form>
</body>
</html>

您在preg_match()中缺少_和preg_match的分隔符,而在preg_math中有变量$email而不是$phone。我还补充道,如果电话不是11个字符,因为您的正则表达式将允许尾随字符。

if(!$name) {
    $errorMsg = "Please enter your name";
} elseif(!$phone || !preg_match('~'d{3}['-]'d{7}~', $phone) || strlen($phone) != 11){//this line format is incorrect
    $errorMsg = "Please enter a valid phone number";
    exit;
}

regexp模式应包含在/或#中-preg_match("/''d{3}[-]''d{7}/",$phone)

-u_mulder

这家伙回答了我的问题。