检查电子邮件是否有效?

时间:2014-12-12 23:58:56

标签: php forms validation email feedback

我正在尝试为我的网站制作一份反馈表,我想让表单检查电子邮件是否有效(如果它有@和。)以下是代码:http://pastebin.com/9kTEh631

谢谢。

3 个答案:

答案 0 :(得分:3)

验证电子邮件地址的最佳方式的方法是使用PHP的内置验证:

http://php.net/manual/en/filter.examples.validation.php

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_a) email address is considered valid.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_b) email address is considered valid.";
}
?>

简单,有效,可靠。

来自symcbean的评论值得添加到这个答案,因为它不会错过:

  

验证电子邮件的最佳方法是通过包含一次性密码的链接向该地址发送电子邮件。这只是一个快速的正则表达式检查。它不存在域。它不会检查域是否有MX记录。它不会检查MTA是否接受邮件。它不会检查邮箱是否被接受。它不会检查电子邮件是否可交付....

答案 1 :(得分:0)

$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_a) email address is considered valid.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_b) email address is considered valid.";
}

Straight from the PHP manual,在搜索php validate email时首次点击Google。

答案 2 :(得分:0)

您可以使用filter_input()方法,see documentation

示例

if(!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
  {
  echo "E-Mail is not valid";
  }
else
  {
  echo "E-Mail is valid";
  }