论坛E-mail验正的正则表达式升级

王朝other·作者佚名  2007-10-23
窄屏简体版  字體: |||超大  

今天拿到了传说中有1G大的Gmai,确实很好用速度极快,没有了传统的收件夹,取了代之的是labels ,用户自己设定labels后加上邮件过滤设定,就成了邮件自动分练功能,逻辑上,用户名+labels@gmail.com,"labels"可以自己取名,就可以达到无数个E-mail地址,这些地址同时指向用户名@gmail.com

我在外面测试:能过163邮箱向用户名+labels@gmail.com,邮件正常到达,而且按照事先的过虑设定被自动分类到labels文件夹下(其实并非文件夹)。也就是说传统的E-mail地址中不允许有“+”的规则已经被打破,所以很多注删流程中的E-mail验证也也需要更新一下。

这几天自己看了.net,下面是自己修改的Email验证的正则表达式:

合法E-mail地址:

1. 必须包含一个并且只有一个符号“@”

2. 第一个字符不得是“@”或者“.”

3. 不允许出现“@.”或者.@

4. 结尾不得是字符“@”或者“.”

5. 允许“@”前的字符中出现“+”

6. 不允许“+”在最前面,或者“+@”

正则表达式如下:

-----------------------------------------------------------------------

^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$

-----------------------------------------------------------------------

字符描述:

^ :匹配输入的开始位置。

\:将下一个字符标记为特殊字符或字面值。

* :匹配前一个字符零次或几次。

+ :匹配前一个字符一次或多次。

(pattern) 与模式匹配并记住匹配。

x|y:匹配 x 或 y。

[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。

\w :与任何单词字符匹配,包括下划线。

$ :匹配输入的结尾。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航