Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php注册表-限制电子邮件_Php_Html_Forms_Web_Registry - Fatal编程技术网

php注册表-限制电子邮件

php注册表-限制电子邮件,php,html,forms,web,registry,Php,Html,Forms,Web,Registry,我想限制某些电子邮件到我的网站 { /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($f

我想限制某些电子邮件到我的网站

{
     /* Check if valid email address */
     $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*"
             ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*"
             ."\.([a-z]{2,}){1}$";
     if(!eregi($regex,$subemail)){
        $form->setError($field, "* Email invalid");
     }
     $subemail = stripslashes($subemail);
  }
例如,我只希望拥有gmail帐户的人注册到我的网站

{
     /* Check if valid email address */
     $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*"
             ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*"
             ."\.([a-z]{2,}){1}$";
     if(!eregi($regex,$subemail)){
        $form->setError($field, "* Email invalid");
     }
     $subemail = stripslashes($subemail);
  }

到目前为止,我一直在检查这封电子邮件是否有效。

我建议您保留一组正则表达式模式,希望电子邮件地址与之匹配。然后写一个循环来遍历数组并检查地址。每当检查失败时,将某些验证标志设置为false。循环后,通过检查验证标志,您可以确保电子邮件地址正是您想要的。

不要使用单个正则表达式来检查整个地址。使用strrpos()将地址拆分为本地部分和域名,分别进行检查。域很容易检查,本地部分几乎是不可能的(而且你甚至不应该关心它)。

这样做怎么样:

list(,$domain) = explode('@',$email);
if ($domain != 'gmail.com')
  echo 'not possible to register';
else 
  echo 'Will register';

如果要验证电子邮件,请使用筛选功能

您有一个编程问题。此问题将移至堆栈溢出。按照链接继续你的问题。无需重新发布。使用preg_xxx函数而不是ereg_xxxx。ereg已被弃用。