繁体中文
设为首页
加入收藏
当前位置:PHP技术首页 >> PHP基础 >> 用PHP来验证Email是否正确

用PHP来验证Email是否正确

2005-01-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  有什么问题请与我联系:http://www.webjx.com web@webjx.com  转载请注明出处   当你在某个论坛上注册时,通常都有一个 e-mail 地址验证的功能,当你输入非法的一个格式时会出现某种错误提示信息的。   ...
关键字:验证 正确 Email PHP

  有什么问题请与我联系:http://www.webjx.com web@webjx.com

 转载请注明出处

  当你在某个论坛上注册时,通常都有一个 e-mail 地址验证的功能,当你输入非法的一个格式时会出现某种错误提示信息的。

  我们可以使用下面的规则表达式

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

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

if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email))

{

return FALSE;

}

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

list($Username, $Domain) = split("@",$email);

if(getmxrr($Domain, $MXHost))

{

return TRUE;

}

else

{

if(fsockopen($Domain, 25, $errno, $errstr, 30))

{

return TRUE;

}

else

{

return FALSE;

}

}

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

function checkEmail($email)

{ if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email))

{

return FALSE;

}

list($Username, $Domain) = split("@",$email);

if(getmxrr($Domain, $MXHost))

{

return TRUE;

}

else

{

if(fsockopen($Domain, 25, $errno, $errstr, 30))

{

return TRUE;

}

else

{

return FALSE;

}

}

}

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

if(checkEmail(web@webjx.com) == FALSE)

{

echo "您输入的E_mail是不正确的.";

}

else

{

echo "输入的E_mail是正确的.";

}

责任编辑:admin
相关文章