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邮箱就不能正确匹配。 上面代码是更正后的邮箱正则表达式。
|