php验证邮箱地址合法性

PHP实例如下:

int preg_match ( string pattern, string subject [, array matches [, int flags]])

在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容,如果提供了 matches,则其会被搜索的结果所填充,$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推.

代码如下:

  1. $string = 'cgjp123@163.com.cn';
  2. $pattren = "/^[^_][w]+@[w.]+[w]+[^_]$/";
  3. if(preg_match($pattren,$string,$matches)){
  4. echo '<pre>';
  5. print_r($matches);
  6. echo '</pre>';
  7. }else{
  8. echo 'wrong email';
  9. }

php中检查email完整性,代码如下:

  1. <?php
  2. if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]?$",?$email)) {
  3. echo "您的 e-mail 通过初步检查";
  4. }
  5. ?>

^([a-za-z0-9_-]+)@([a-za-z0-9_-]+)(.[a-za-z0-9_-])$/

就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用”转义符+记录的次序”来读取,比如”1〃就相当于第一个”[a-za-z0-9_-]+”,”2〃相当于第二个([a-za-z0-9_-]+),”3〃就是第三个(.[a-za-z0-9_-]),但是在php中,”"是一个特殊的字符,需要转义,所以”"到了php的表达式中就应该写成”1〃.

其他特殊符号:

“|”:或符号”|”和php里面的或一样,不过是一个”|”,而不是php的两个”||”!意思就是可以是某个字符或者另一个字符串,比如”/abcd|dcba/”可能匹配”abcd”或者”dcba”.