我想验证电子邮件地址,以确保它们是大学教育地址。做到这一点的最好方法是什么?我在数据库中有一个学院列表,并且为每个学院指定了一个url,该url应该是该学院的用户电子邮件地址的一部分。因此,对于哈佛大学来说,url是"harvard.edu“,因为所有哈佛大学的电子邮件地址都将其作为主机名的一部分。
有没有人有PHP函数可以让我这么做?
发布于 2011-08-24 23:01:53
我会先检查该电子邮件是否有效
if(filter_var($email, FILTER_VALIDATE_EMAIL))如果是,我会提取域名
$mailDomain = substr(strrchr($email, "@"), 1);一旦它被提取出来,我就会检查它是否存在于我的库中
mysql_query("SELECT count(domain_name) from domain where domain_name = ".mysql_real_escape_string($mailDomain));发布于 2011-08-24 22:54:49
注意:这将仅检查*.edu电子邮件地址
您可以将其简化为只检查edu电子邮件:
$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)我意识到对于其他人来说,使用正则表达式会有更好的解决方案,但我对此一无所知,所以这是一个解决方案。
发布于 2011-08-24 22:56:46
检查字符串是否以.edu结尾
<?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
https://stackoverflow.com/questions/7177509
复制相似问题