首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查电子邮件是否与指定的域匹配或拒绝

问检查电子邮件是否与指定的域匹配或拒绝
EN

Stack Overflow用户
提问于 2013-02-04 02:18:05
回答 2查看 418关注 0票数 0

目前我的电子邮件接受所有的电子邮件域名。我想定义哪些是允许从列表(solent.ac.uk,herts.ac.uk)之外的,而不是像@gmail.com等公共的。目前,无论哪种方法最简单,我都会尝试其他方法,这更多的是暂时的。

代码语言:javascript
复制
<form method="post" action="<?php url_for('register'); ?>">

  <!--Email-->
  <p class="email field">
    <input tabindex="1" id="email" type="text" name="email" value="<?php if(isset($_POST['email'])) echo $_POST['email']; ?>" placeholder="email@example.com" autofocus />
    <a href="<?php url_for('login'); ?>" tabindex="2" class="action button register" title="Click to log-in with your existing account.">Login</a>
  </p>

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-02-04 02:27:09

PHP中的简化版本

代码语言:javascript
复制
if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $whitelist = array('solent.ac.uk', 'herts.ac.uk');
    $email     = $_POST['email'];
    list(, $domain) = array_pad(explode('@', $email, 2), 2, '');
    if (in_array($domain, $whitelist)) {
      // you're good
    }
    else {
      // not so good
    }

    // more data validation
}
票数 1
EN

Stack Overflow用户

发布于 2013-02-04 02:36:04

在<form>中,您可以将电子邮件分成两部分:用户名和域。用户名将是典型的文本输入,域部分将是选择下拉框。

下面是一个简化的示例:

代码语言:javascript
复制
<input type="text" name="email_username" />@
<select name="email_domain">
  <option value="domain1.com">@domain1.com</option>
  <option value="domain2.com">@domain2.com</option>
  <option value="domain3.com">@domain3.com</option>
  <option value="domain4.com">@domain4.com</option>
</select>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14675627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档