如何将表单和php正则表达式链接在一起?

时间:2014-10-10 05:28:22

标签: php regex forms email

我是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 ";
    }

?>

2 个答案:

答案 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