首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php验证学院edu电子邮件地址

使用php验证学院edu电子邮件地址
EN

Stack Overflow用户
提问于 2011-08-24 22:49:58
回答 8查看 1.4K关注 0票数 2

我想验证电子邮件地址,以确保它们是大学教育地址。做到这一点的最好方法是什么?我在数据库中有一个学院列表,并且为每个学院指定了一个url,该url应该是该学院的用户电子邮件地址的一部分。因此,对于哈佛大学来说,url是"harvard.edu“,因为所有哈佛大学的电子邮件地址都将其作为主机名的一部分。

有没有人有PHP函数可以让我这么做?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-08-24 23:01:53

我会先检查该电子邮件是否有效

代码语言:javascript
复制
if(filter_var($email, FILTER_VALIDATE_EMAIL))

如果是,我会提取域名

代码语言:javascript
复制
$mailDomain = substr(strrchr($email, "@"), 1);

一旦它被提取出来,我就会检查它是否存在于我的库中

代码语言:javascript
复制
mysql_query("SELECT count(domain_name) from domain where domain_name = ".mysql_real_escape_string($mailDomain));
票数 1
EN

Stack Overflow用户

发布于 2011-08-24 22:54:49

注意:这将仅检查*.edu电子邮件地址

您可以将其简化为只检查edu电子邮件:

代码语言:javascript
复制
$email = "myemail@uni.edu";

function isEduEmail($email){
  $email = explode(".",$email);
  if($email[count($email)-1] == "edu")
    return true;
  else
    return false;
}

var_dump(isEduEmail($email)); // echo bool(true)

我意识到对于其他人来说,使用正则表达式会有更好的解决方案,但我对此一无所知,所以这是一个解决方案。

票数 1
EN

Stack Overflow用户

发布于 2011-08-24 22:56:46

检查字符串是否以.edu结尾

代码语言:javascript
复制
<?php

$email = "myemail@uni.edu";

function isEduEmail($email){
  $eLength = strlen($email) - 1;
  $local = substr($email, $eLength - 3, $eLength );
  if($local === '.edu') return true;
  return false;
}

var_dump(isEduEmail($email)); // echo bool(true)

?>

演示:http://codepad.org/97LlxPX1

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

https://stackoverflow.com/questions/7177509

复制
相关文章

相似问题

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