从网上找到一个通用的用于判断邮箱地址格式的正则表达式。
[_a-zA-Zd-./]+@[_a-zA-Zd-]+(.[_a-zA-Zd-]+)+
此表达式能符合大多数邮箱地址的判断,但是对于我专门跟电子邮件打交道的人来说,以上的正则表达式还有欠缺。
如aaa@bbb.c或aaa@bbb.cccc或aaa@bbb.ccc(ccc不是有效后缀)或aaa@bbb.123等,此表达式能通过,但是邮箱地址却是不合格的。
于是修改正则表达式如下。
[_a-zd-./]+@[_a-zd-]+(.[_a-zd-]+)*(.(info|biz|com|edu|gov|net|am|bz|cn|cx|hk|jp|tw|vc|vn))$
使用前先将地址小写化。
此表达式最重要的是要维护后缀列表,对于普通用户来说,修改为常用的邮箱后缀(cn|com|net)即可也可以防止部分垃圾邮件。当需要扩大范围时增加邮箱后缀。
哪位有格式怪异但有效的邮箱地址,请提交给我,增加表达式的判断准确度。