首页 > 后端开发 > php教程 > 用PHP来验证Email是否正确_PHP教程

用PHP来验证Email是否正确_PHP教程

WBOY
发布: 2016-07-13 10:59:10
原创
743 人浏览过

当你在某个论坛上注册时,通常都有一个 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@etoow.com) == FALSE)
{
echo "您输入的E_mail是不正确的.";
}
else
{
echo "输入的E_mail是正确的.";
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631921.htmlTechArticle当你在某个论坛上注册时,通常都有一个 e-mail 地址验证的功能,当你输入非法的一个格式时会出现某种错误提示信息的。 我们可以使用下...
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板