【问题标题】:PHP: Email validation and accepting email address from a certain domainPHP:电子邮件验证和接受来自某个域的电子邮件地址
【发布时间】:2012-07-27 03:06:08
【问题描述】:

我目前正在使用 AJAX/JS 来获得无需单击按钮或刷新页面的表单。我的询问是关于电子邮件验证的。现在,PHP 代码检查电子邮件地址是否有效。我只想让它接受来自某个域的电子邮件。如何通过 php 实现只接受来自gmail 的电子邮件地址? Example

用于验证电子邮件的 PHP:

if($_POST) {
    $email = $_POST['email'];
    if (preg_match('|^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$|i', $email)) {
        echo ('<div id="email_input"><span id="resultval">'.$email.'</span></div>');
    }
    else {
        echo ('<div id="email_input"><span id="resultval">Include a valid email address.</span></div>');
    }
}

【问题讨论】:

    标签: php


    【解决方案1】:

    你应该把你的正则表达式改成这个

    '|^[A-Z0-9._%+-]+@gmail\.com$|i'
    

    【讨论】:

      【解决方案2】:

      Php 有一个简单的功能可以帮助您检查电子邮件地址是否有效:

      $isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
      

      要检查电子邮件地址是否为 gmail 地址,可以使用以下方法:

      list ($user, $domain) = explode('@', $email);
      $isGmail = ($domain == 'gmail.com');
      

      【讨论】:

      • 谢谢你,就像一个魅力。我不知道FILTER_VALIDATE_EMAIL,它非常有用!
      • 我已经使用了这个验证,它认为 aaaa@aaaa.2 是一个有效的邮件地址
      【解决方案3】:

      小心你的正则表达式it won't validate all actual email addresses

      您有一个内置的 PHP 函数来检查电子邮件是否有效:

      $email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
      

      如果返回 true,那么您只需检查字符串是否以 @gmail.com 结尾。请注意,此功能可能有some strange issues,因为电子邮件验证标准可能令人惊讶。

      如果你真的想要一个验证所有电子邮件地址的正则表达式,这里是:

      (?:[a-z0-9!#$%&amp;'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

      【讨论】:

        猜你喜欢
        • 2013-12-20
        • 2016-06-24
        • 2011-07-05
        • 2014-06-12
        • 1970-01-01
        • 1970-01-01
        • 2012-08-23
        • 2011-06-14
        • 2013-03-10
        相关资源
        最近更新 更多