Home >php教程 >php手册 >php正则表达式验证邮箱

php正则表达式验证邮箱

WBOY
WBOYOriginal
2016-05-25 16:55:282616browse
邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如:i@fufuok.com 或 fufu@9.cn 。解决方法如下:

1,不做总长度判断,长度判断可以自己加上;

2,支持.net.cn,.com.cn这样的域名后缀;

3,邮箱名部分以字母或者数字开头,中间可以有“-”与“_”符号;

4,域名部分以字母或者数字开头,中间可以有“-”与“_”符号;


PHP 邮箱验证正则表达式

 代码如下 复制代码

preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );

实例

 代码如下 复制代码

/**
 * 自己修整的一个邮箱正则表达式
 * 琼台博客
 */
echo '';
function c_email($email){
    $reg='/^([a-zA-Z0-9]{1,20})(([_-.])?([a-zA-Z0-9]{1,20}))*@([a-zA-Z0-9]{1,20})(([-_])?([a-zA-Z0-9]{1,20}))*(.[a-z]{2,4}){1,2}$/';
    if(preg_match($reg,$email))
        return true;    
    return false;
}
$email = 'mail@lizhong.me';
$check_result = c_email($email);
if($check_result){
    echo '邮箱格式正确';
}else{
    echo '邮箱格式错误';
}

邮箱验证类

 代码如下 复制代码

class Reg
{
    public $mail;
    function __construct()
    {
        $this->mail = $_POST["mail"];       
    }
    function RegMail()
    {
        if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i", $this->mail))
        {
            echo "";
        }
        else
        {
            echo "";
        }
    }
}
$r = new Reg();
$r->RegMail();
$strings = "abc@163.com";
if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i",$strings))
{
    echo"验证成功!是邮箱地址。";
}
else
{
    echo"不是邮箱地址!";
}
?>



教程链接:

随意转载~但请保留教程地址★

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn