我是php的新手。我现在要做的是使用正则表达式创建一个电子邮件验证表单。当用户在文本字段中输入一些愚蠢的内容并单击提交时。它将显示电子邮件无效。我使用正则表达式来测试用户是否输入了正确的格式。有人能指导我如何将php正则表达式与表单链接在一起吗?
<form action= " " method = "post">
<p> Enter your email </p>
<input type ="text" name ="user_email"/>
<input type ="Submit" />
</form>
<?php
$email = " abc@gmail.com ";
$regex = "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+'.[a-zA-Z0-9-.]+$";
if (preg_match ($regex, $email )){
echo $email . "is a valid email";
}else{
echo $email. " is an invalid email ";
}
?>
更改
$email = " abc@gmail.com ";
至
$email = $_POST['user_email'];
然后它将从表单中获取输入。由于您正在将数据发布到脚本中,因此您发布的所有变量都将最终出现在超级全局$_POST中。
您可以通过多种方式链接$_POST
请求,例如:
$email = $_POST['user_email'];
此外,preg_match
需要一个开始和结束分隔符才能正常工作:
$regex = "/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+'.[a-zA-Z0-9-.]+$/";
结果:
abc@gmail.com is an invalid email
示例:
http://ideone.com/igphq1