欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php正则表达式验证邮箱

程序员文章站 2022-05-09 14:08:31
...
邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如: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"不是邮箱地址!";
}
?>



教程链接:

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