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

php正则表达式验证邮箱

WBOY
發布: 2016-05-25 16:55:28
原創
2616 人瀏覽過
邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如: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"不是邮箱地址!";
}
?>



教程链接:

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板