gpt4 book ai didi

php - 一般和特定(大学域)的最佳电子邮件验证功能?

转载 作者:可可西里 更新时间:2023-11-01 13:33:25 26 4
gpt4 key购买 nike

我知道电子邮件验证是其中之一,但并不是最有趣的事情。我正在创建一个网站,我想将我的受众限制在我大学里的人,我还想为我的用户提供一个首选的电子邮件地址。所以这是一个由两部分组成的问题。

  1. 是否有用于电子邮件验证的真正可靠的 php 函数?

  2. 我可以验证来自特定域的电子邮件吗?我不想只检查域是否存在,因为我知道 www.mycollege.edu已经存在。真的有办法验证用户是否拥有有效的@mycollege.edu 网址吗?

最佳答案

这是我用的:

   function check_email_address($email) {
// First, we check that there's one @ symbol, and that the lengths are right
if (!preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
return false;
}
// Split it into sections to make life easier
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!preg_match("/^(([A-Za-z0-9!#$%&'*+\/=?^_`{|}~-][A-Za-z0-9!#$%&'*+\/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$/", $local_array[$i])) {
return false;
}
}
if (!preg_match("/^\[?[0-9\.]+\]?$/", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // Not enough parts to domain
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!preg_match("/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$/", $domain_array[$i])) {
return false;
}
}
}

return true;
}

编辑 将折旧的 ereg 替换为 preg_match 以符合 PHP 5.3

关于php - 一般和特定(大学域)的最佳电子邮件验证功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6232846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com