最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

用PHP来验证Email是否正确

时间:2014-06-09 16:40来源: 作者: 点击: 次
当你在某个论坛上注册时,通常都有一个 e-mail 地址验证的功能,当你输入非法的一个格式时会出现某种错误提示信息的,我们可以使用下面的规则表达式: ereg(^[a-zA-Z0-9_] @[a-zA-Z0-9-] .[a-zA-Z0-9-.]

当你在某个论坛上注册时,通常都有一个 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. { 
  3. return FALSE; 
  4. } 

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

  1. list($Username, $Domain) = split("@",$email); 
  2. if(getmxrr($Domain, $MXHost)) 
  3. { 
  4. return TRUE; 
  5. } 
  6. else 
  7. { 
  8. if(fsockopen($Domain, 25, $errno, $errstr, 30)) 
  9. { 
  10. return TRUE; 
  11. } 
  12. else 
  13. { 
  14. return FALSE; 
  15. } 
  16. } 

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

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

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

  1. if(checkEmail(web@etoow.com) == FALSE) 
  2. { 
  3. echo "您输入的E_mail是不正确的."; 
  4. } 
  5. else 
  6. { 
  7. echo "输入的E_mail是正确的."; 
  8. } 
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容