当前位置:首页> 编程笔记> PHP 开发
关键字
文章内容
正则表答式PHP验证邮件地址详细实例
 
 
修改时间:[2012/06/27 00:46]    阅读次数:[1420]    发表者:[沩筱]
 

PHP中正则表答式主要有两类。

一类是ereg_为开头的函数,另一类以preg_为开头的函数。

在这里我们验证邮件地址,就用第一类中的ereg来简单实现。

下面是该函数的简单介绍:

语法: int ereg(string pattern, string string, array [regs]);

返回值: 整数/数组

函数说明:该函数以参数pattern的规则来与字符串string进行比较。比较结果返回的值放在数组regs之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余此类推。若省略参数 regs,则只是单纯地比对,找到则返回值为true。

验证邮件地址就不使用参数regs,直接查看返回值是否为true进行验证

代码如下:

<?php
 
$email = "[email protected]";
 
if(ereg("[a-z1-9]{1}[a-z0-9_]{1,}@[a-z0-9_\.]{1,}\.[a-z]{2,4}",strtolower($email))==false){
 
    echo "邮件地址格式不对";
 
}else{
 
    echo  "邮件地址格式正确";
 
}
 
?>

[a-z1-9]{1} 匹配一个字符或数字1-9

[a-z0-9_]{1,} 匹配1个或以上的字符或数字

[a-z]{2,4} 匹配2至4个字母

以前匹配邮箱没第一个没有匹配数字,结果用户使用qq或139邮箱就不能正确匹配。

上面代码是更正后的邮箱正则表达式。