首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查电子邮件是否属于学生电子邮件,电子邮件中含有edu。

问检查电子邮件是否属于学生电子邮件,电子邮件中含有edu。
EN

Stack Overflow用户
提问于 2017-05-05 03:35:55
回答 3查看 523关注 0票数 0

我想通过验证注册电子邮件来检查注册用户是学生。我有一个表格,其中包含多个教育电子邮件域名,如@mmu.edu.my,@taylor.edu.uk等。首先,控制器应该从数据库中获取所有可用的名称,并验证用户的电子邮件。然后将根据各自的大学分配不同的角色。但问题是如何检查电子邮件与每个可用的域名在数据库中。

在我的控制器里,我收到了注册用户的电子邮件。

代码语言:javascript
复制
$user_email=$user_info->email;

这是电子邮件的例子。

代码语言:javascript
复制
alex_9237502834@taylor.edu.uk

它们对我学习如何验证有任何参考吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-05 04:00:38

所以我猜会有多个域?您需要检查电子邮件域是否属于其中之一。

因此,首先,获得一个查询,通过该查询,您将获得所有域。

然后

代码语言:javascript
复制
$user_email = explode('@',$entered_email);
$user_email_domain = $user_email[1];
foreach($sql_returned as $sql)
{
 if($sql->email == $user_email_domain)
{
    do what you want
}
else
{
    do something else
}
}
票数 0
EN

Stack Overflow用户

发布于 2017-05-05 03:46:40

我只需将有效域循环为数组,如下所示:

代码语言:javascript
复制
<?php
$validDomains = array('mmu.edu.my', 'taylor.edu.uk');

function validEmail($email, $validDomains) {
    if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
        $email_parts = explode('@', $email);    // [0] will be ben, [1] will be mmu.edu.my

        // Valid email address. Does it match anything in our domain whitelist?
        foreach($validDomains as $validDomain) {
            if (strtolower($validDomain) == $email_parts[1]) {
                return true;
            }
        }
    }
    return false;   // No matches
}


var_dump( validEmail('ben@mmu.edu.my', $validDomains) );        // TRUE
var_dump( validEmail('ben@randomdomain.com', $validDomains) );  // FALSE
var_dump( validEmail('clearlynotanemail', $validDomains) );     // FALSE
var_dump( validEmail('jow@taylor.edu.uk', $validDomains) );     // TRUE
票数 2
EN

Stack Overflow用户

发布于 2017-05-05 03:49:23

首先用"@“号把电子邮件分开。

代码语言:javascript
复制
$user_email=$user_info->email;
$splitted = explode('@',$user_email);

if($splitted[1] == "mmu.edu.my")
{
    // attach role here
}
elseif(....)
{

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43796075

复制
相关文章

相似问题

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