php中用于电子邮件检查功能的通配符
我目前正在我的本地机器上开发登录和注册系统,以进行测试,现在,我正处于电子邮件检查功能的阶段。正如您所知,您可以使用php内置函数来实现这一点,但这并不是100%正确的。另外,我只希望@gmail.com、@hotmail.*、@yahoo.*和类似的电子邮件被接受,而不是其他邮件(如@somemail.net) 所以我想开发如下代码:php中用于电子邮件检查功能的通配符,php,email,wildcard,Php,Email,Wildcard,我目前正在我的本地机器上开发登录和注册系统,以进行测试,现在,我正处于电子邮件检查功能的阶段。正如您所知,您可以使用php内置函数来实现这一点,但这并不是100%正确的。另外,我只希望@gmail.com、@hotmail.*、@yahoo.*和类似的电子邮件被接受,而不是其他邮件(如@somemail.net) 所以我想开发如下代码: <? ... require_once 'emailformcheck.php'; if ($email === '
<?
...
require_once 'emailformcheck.php';
if ($email === '@gmail.com' || $email === '@yahoo.com'...) {
require_once 'emaildbcheck.php';
require_once 'passwordchecker.php';
}
...
?>
但我不想键入@gmail.com或@yahoo.*,而是想使用一些通配符,比如:
*@gmail.com或*@yahoo.com。谁能告诉我我需要如何格式化它吗?事实上,我对php编程并不陌生,但我仍然在学习。有人知道用什么通配符来替换php文件中的字符串数据吗?使用
正则表达式来搜索字符串中的这种模式。PHP带来了preg
扩展。它有很好的文档记录,因此我建议您查看一下,以及您在web上找到的数百万个示例:
使用它,您可以编写条件语句,如下所示:
if ( preg_match($email, '^[^@]+@((gmail\.com)|(yahoo\.com))$') )
使用正则表达式
在字符串中进行此类模式搜索。PHP带来了preg
扩展。它有很好的文档记录,因此我建议您查看一下,以及您在web上找到的数百万个示例:
使用它,您可以编写条件语句,如下所示:
if ( preg_match($email, '^[^@]+@((gmail\.com)|(yahoo\.com))$') )
首先运行此功能检查电子邮件是否有效:
$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
然后,要检查域,请运行以下命令:
list ($user, $domain) = explode('@', $email);
list ($domain, $tld) = explode('.', $domain);
如果$user包含@之前的数据,则域包含TLD之外的域(例如gmail
),而$TLD包含TLD的第一部分(例如com
)
然后,您可以使用以下条件检查gmail.com:
if($domain == "gmail" && $tld == "com")
要检查hotmail等通配符,请使用:
if($domain == "hotmail")
显然,使用通配符,您将遇到子域问题,例如有人创建域:hotmail.mywebsite.com
,并且他们的电子邮件是myname@hotmail.mywebsite.com
首先运行此功能检查电子邮件是否有效:
$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
然后,要检查域,请运行以下命令:
list ($user, $domain) = explode('@', $email);
list ($domain, $tld) = explode('.', $domain);
如果$user包含@之前的数据,则域包含TLD之外的域(例如gmail
),而$TLD包含TLD的第一部分(例如com
)
然后,您可以使用以下条件检查gmail.com:
if($domain == "gmail" && $tld == "com")
要检查hotmail等通配符,请使用:
if($domain == "hotmail")
显然,使用通配符,您将遇到子域问题,例如有人创建域:hotmail.mywebsite.com
,并且他们的电子邮件是myname@hotmail.mywebsite.com
您正在寻找php中的正则表达式
和preg扩展。它们在字符串中实现模式搜索。阅读文档,这篇文章描述得很好,已经回答了一百万次。出于好奇:为什么要限制潜在用户选择的电子邮件服务提供商的注册/登录?!?您正在寻找php中的正则表达式和preg扩展。它们在字符串中实现模式搜索。阅读文档,这篇文章描述得很好,已经回答了一百万次。出于好奇:为什么要限制潜在用户选择的电子邮件服务提供商的注册/登录?!?哇,谢谢。是的,这可能是我要找的东西。编辑很少,最终可能会很棒。谢谢!哇,谢谢。是的,这可能是我要找的东西。编辑很少,最终可能会很棒。谢谢!