首页 / 邮件 / PHP – 域名数组中的电子邮件字符串
PHP – 域名数组中的电子邮件字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP – 域名数组中的电子邮件字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1879字,纯文字阅读大概需要3分钟。
内容图文
![PHP – 域名数组中的电子邮件字符串](/upload/InfoBanner/zyjiaocheng/724/d79d1c4e31c148529ea8419c0aa09716.jpg)
我有一系列域名,例如:
stonybrook.edu
sunysuffolk.edu
harvard.edu
然后我有一个输入字段,用户输入他或她的.edu电子邮件地址.
例如:someguy@mail.sunysuffolk.edu
现在我想拒绝不在域阵列中的用户注册.因此,例如,尝试使用someguy@princeton.edu注册的人将被拒绝,因为数组中没有’princeton.edu’.
我正在尝试创建一个“检查”,因为我必须以某种方式将电子邮件地址与域数组匹配.
我尝试使用in_array但是我在执行此操作时遇到了麻烦.这是我到目前为止:
<?php
$domains = array('stonybrook.edu', 'sunysuffolk.edu', 'harvard.edu');
$myEmail = 'sam@mail.sunysuffolk.edu';
if (in_array($myEmail, $domains)) {
echo 'You Are Allowed To Register!';
}
?>
这失败了.现在我考虑使用strpos()但是strpos()接受一个字符串参数,但我的域是一个数组.现在我的数组只有3个值,但最终该数组将变得非常大,所以使用循环不会太高效.
任何人都可以向我提供有关如何进行此验证的任何建议吗?谢谢!
编辑:
以下是我设法让它工作的方式:
<?php
$domains = array('stonybrook.edu', 'sunysuffolk.edu', 'harvard.edu');
$count = 0;
$myEmail = 'sam@mail.sunysuffolk.edu';
foreach ($domains as $domain) {
if (strpos($myEmail, $domain) !== false) $count++;
}
if ($count > 0) echo 'You Are Allowed To Register!';
?>
解决方法:
这样做:
$domains = array('stonybrook.edu', 'sunysuffolk.edu', 'harvard.edu');
$email = 'sam@mail.sunysuffolk.edu';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Invalid email address
// ....
// Processing error
// Returng user to re-enter email
}
list($name,$domain) = explode('@',$email); // $domain=='mail.sunysuffolk.edu';
$domain = implode('.',array_slice(explode('.',$domain),-2,2)); // $domain=='sunysuffolk.edu';
if ( in_array(strtolower($domain),$domains)){
print'You Are Allowed To Register!';
}
编辑(@danronmoon& @Fred-ii-)
我添加了电子邮件验证,但是……思考,主要目标 – 展示工作
开始位置的解决方案$domains = array(‘stonybrook.edu’,’sunysuffolk.edu’,’harvard.edu’);和$email =’sam@mail.sunysuffolk.edu’;.过滤,验证和其他方面超出了当前的OP问题.
内容总结
以上是互联网集市为您收集整理的PHP – 域名数组中的电子邮件字符串全部内容,希望文章能够帮你解决PHP – 域名数组中的电子邮件字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。