加强正则学习
http://deerchao.net/tutorials/regex/regex.htm
http://www.jb51.net/article/10189.htm
^开始 $结束
【10.28】
email 验证
最简洁版
$str="test@bb.com";
preg_match('/^\w+\@\w+\.\w+$/',$str,$m);
print_r($m);
preg_match('/^\w+\@\w+\.\w+$/',$str,$m);
print_r($m);
正则解析:
"\w" 代表 匹配字母或数字或下划线或汉字
"+" 重复1次或多次【我的理解。必须出现一次或者多次】
"\@" "\"这个符号是反义 表示 字符串一定要出现@字符,
“ \w+\.\w+” 这个整个部分是后面部分
\w+已经解释过了(此处代表域名) \.反义字符必须出现"."域名
现在我们来看简洁版本的bug
1.许多用户邮箱是这样的“jason.zhang@7taou.com”,"jason_zy@live.cn" "\w"无法匹配“._”2个字符
2.域名只能是数字 - ,字母组成
3.域名结尾“.com .net .cn”。最大支持 3位 最小2 位 ,而且只能是字母
1、[a-zA-Z0-9_.]+
\@
2、[a-zA-Z0-9-.]+
3、[a-zA-Z]{2,3}
最终版:
$str="jason.zhang@bb.ttt.com";
preg_match('/^[a-zA-Z0-9_.]+\@[a-zA-Z0-9-.]+[a-zA-Z]{2,3}$/',$str,$m);
print_r($m);
preg_match('/^[a-zA-Z0-9_.]+\@[a-zA-Z0-9-.]+[a-zA-Z]{2,3}$/',$str,$m);
print_r($m);
看到此的朋友。请你仔细理解每个字符。正则也就那几个字符,我困扰了许久。一直没有认真看过。今天开始学习
目前可以检查正常email了。可能还有其他情况。还请提出。我加以修正
浙公网安备 33010602011771号