php 验证邮箱地址合法性

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

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

$string = 'cgjp123@163.com.cn';
 $pattren = "/^[^_][w]+@[w.]+[w]+[^_]$/";
 if(preg_match($pattren,$string,$matches)){
  echo '<pre>';
  print_r($matches);
  echo '</pre>';
 }else{
  echo 'wrong email';
 }
php中检查email完整性
<?php
 if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]?$",?$email)) {
 echo "您的 e-mail 通过初步检查www.111cn.net";
 }
 ?>

^([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”。

 

posted @ 2012-09-29 14:50  技工0508  阅读(304)  评论(0编辑  收藏  举报