邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如: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"不是邮箱地址!";
}
?>
|
http://www.bkjia.com/PHPjc/631574.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631574.htmlTechArticle邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如:i@fufuok.com 或 fufu@9.cn 。解决方法如下: 1,不做总长度判断,长度判...