你值得信赖的源码站!

用PHP来验证Email是否正确

当你在某个论坛上注册时,通常都有一个 e-mail 地址验证的功能,当你输入非法的一个格式时会出现某种错误提示信息的,我们可以使用下面的规则表达式:

ereg("^[a-zA-Z0-9_] @[a-zA-Z0-9-] .[a-zA-Z0-9-.] $]", $email);

但是上面这个式子的功能是只能检查字符串,不能进行输出。我们可以进一步利用这个式子来达到返回信息的功能:

  1. if (eregi("^[a-zA-Z0-9_] @[a-zA-Z0-9-] .[a-zA-Z0-9-.] $]"$email)) 
  2. return FALSE; 

下面我们可以进一步来检测主机名,是不是存在:

  1. list($Username$Domain) = split("@",$email); 
  2. if(getmxrr($Domain$MXHost)) 
  3. return TRUE; 
  4. else 
  5. if(fsockopen($Domain, 25, $errno$errstr, 30)) 
  6. return TRUE; 
  7. else 
  8. return FALSE; 

现在我们再把上面的两个功能用PHP组织起来构成一个函数:

  1. function checkEmail($email
  2.  
  3. if(eregi("^[a-zA-Z0-9_] @[a-zA-Z0-9-] .[a-zA-Z0-9-.] $]"$email)) 
  4. return FALSE; 
  5.  
  6. list($Username$Domain) = split("@",$email); 
  7.  
  8. if(getmxrr($Domain$MXHost)) 
  9. return TRUE; 
  10. else 
  11. if(fsockopen($Domain, 25, $errno$errstr, 30)) 
  12. return TRUE; 
  13. else 
  14. return FALSE; 

之后我们就可以利用这个函数来检测是否存在输入的一个Email了,举个例子:

  1. if(checkEmail(web@etoow.com) == FALSE) 
  2. echo "您输入的E_mail是不正确的."
  3. else 
  4. echo "输入的E_mail是正确的."

赞(0) 本模板价: 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《用PHP来验证Email是否正确》
文章链接:https://www.adminn.cn/725.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏