【问题标题】:Check if the email is a valid one? [duplicate]检查电子邮件是否有效? [复制]
【发布时间】:2014-12-12 23:58:56
【问题描述】:

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

谢谢。

【问题讨论】:

  • 在您的帖子中包含代码。

标签: php forms validation email feedback


【解决方案1】:

验证电子邮件地址的最佳方法是使用 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 是否接受邮件。它不检查邮箱是否被接受。它不检查电子邮件是否可送达....

【讨论】:

  • 以 7 秒的优势击败你,得到完全相同的答案!
  • 验证电子邮件的最佳方法是将电子邮件发送到包含一次性密码的链接的地址。这只是一个快速的正则表达式检查。它不存在域。它不检查域是否有 MX 记录。它不检查 MTA 是否接受邮件。它不检查邮箱是否被接受。它不检查电子邮件是否可送达......
  • @symcbean 从来都不是问题,他从来没有问过“电子邮件地址是否实际存在,是否配置正确并能够接收电子邮件”,也没有任何“一次性密码”。他明确询问如何检查@.,得到了比这更好的答案。
  • @symcbean 实际上,这是一个很好的观点。我在他的回答中添加了它,并说它来自你。我希望你不要介意。我只是不希望它在 cmets 中被忽视。
【解决方案2】:
$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。

【讨论】:

    【解决方案3】:

    你可以使用 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";
      }
    

    【讨论】:

      猜你喜欢
      • 2013-04-18
      • 2011-10-07
      • 1970-01-01
      • 2013-03-15
      • 2023-03-22
      • 1970-01-01
      • 2010-12-19
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多