如何验证PHP中的电子邮件?

时间:2011-11-01 12:18:11

标签: php validation email-validation

  

可能重复:
  E-mail validation in php? please help

我有Ajax注册表单。代码检查mysql中是否存在电子邮件,如果存在,则显示“抱歉您的电子邮件存在” - 否则它会将电子邮件插入mySQL。

如何查看是否已插入有效的电子邮件?像规则char @ ext

<?php
$con = mysql_connect("localhost","user","pass");
mysql_select_db("mytable", $con);
if(isset($_GET['email'])){
    $e= $_GET['email'];
    $cc= mysql_real_escape_string($e);
    $r = mysql_query("SELECT * FROM `maillist` WHERE `email` = '".$cc."'");
        if (mysql_affected_rows()==0) {
            $r = mysql_query('INSERT INTO maillist (id, email) VALUES(NULL,"'.$cc.'")');
            echo $cc;
        } else {
            echo 'Your email already exists!';
        }   
}
mysql_close($con);
?>

2 个答案:

答案 0 :(得分:2)

您可以使用PHP过滤器:http://php.net/manual/en/filter.filters.validate.php

具体来说:FILTER_VALIDATE_EMAIL

if (filter_var('bob@example.com', FILTER_VALIDATE_EMAIL) === false) {
  //fake email
}

答案 1 :(得分:0)

您应该参考validate filters上的文档:

if (filter_var($someEmail, FILTER_VALIDATE_EMAIL)) {
    // ...
}