正则表达式表达错误

时间:2014-12-26 11:01:27

标签: php html regex forms error-handling

我正在尝试编写电子邮件验证,并确保字段留空,并在其中包含我想要的基本内容。

当我使用正确的内容对其进行测试时,它会触发,我无法找到原因。

实施例。以我的名义,我写“约翰”,它会触发错误信息。未通过测试。即使我已将输入限制为[A-Za-z0-9]。

这发生在我的所有领域。 电子邮件是一样的。 主题是一样的。 消息是一样的。

下面是我不应该触发的PHP代码。

if (!preg_match("/^[A-Za-z0-9]$/", $Name)){
    $Error = 1;
    $ErrorMessage .= "Name must be only Alphabetic or Numeric.<br />";
};
if (!preg_match("/^[A-Za-z0-9_.+-]+@[A-Za-z0-9._+-]+\.[A-Za-z0-9_.+-]{2,4}$/", $Email)){
    if (!preg_match("/^[A-Za-z0-9_.+-]+@[A-Za-z0-9._+-]+\.[A-Za-z0-9_.+-]{2,4}+\.[A-Za-z0-9_.+-]{2,4}$/", $Email))
    $Error = 1;
    $ErrorMessage .= "Not an acceptable email address.<br />";
};
if (!preg_match("/^[A-Za-z0-9._+-]$/", $Subject)){
    $Error = 1;
    $ErrorMessage .= "Subject must be only Alphabetic or Numeric.<br />";
};
if (!preg_match("/^[A-Za-z0-9._+-]$/", $Message)){
    $Error = 1;
    $ErrorMessage .= "Message must be only Alphabetic or Numeric.<br />";
};

这是html

<form enctype="multipart/form-data name="ContactForm" action="Custom/Validation.php" method="post">
<label for="Name">Name</label>
<input type="text" id="Name" name="Name" />

<label for="Email">Email</label>
<input type="text" id="Email" name="Email" />

<label for="EmailSec">Confirm Email</label>
<input type="text" id="EmailSec" name="EmailSec" />

<label for="Subject">Subject</label>
<input type="text" id="Subject" name="Subject" />

<label for="Message">Message<label>
<textarea maxlength="500" id="Message" name="Message"></textarea>
<input type="submit" name="Sumbit" value="Send" />
</form>

非常感谢任何帮助或指导。

0 个答案:

没有答案
相关问题