我是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 ";
}
?>
答案 0 :(得分:0)
更改
$email = " abc@gmail.com ";
到
$email = $_POST['user_email'];
然后它将从表单中获取输入。由于您将数据发布到脚本,因此您发布的所有变量都将以超级全局$ _POST结束。
答案 1 :(得分:0)
您可以通过多种方式链接$_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 强>