读书人

怎么让这个邮箱正则表达式可以有

发布时间: 2011-12-11 23:19:43 作者: rapoo

如何让这个邮箱正则表达式可以有.
re = /^([_a-z0-9]*)@([a-z0-9-]{2,}(\.[a-z0-9-]{2,})*\.[a-z]{2,3})$/i;

上面这个正则一般的邮箱是可以通过的
但前面有小.的就不行,例如:
abc@abc.com 可以
ab.c@abc.com 就不行

不知道该如何修改这个正则

[解决办法]
如果你只是想修改原有的,允许前面带“.”,那这样就行了

re = /^([_a-z0-9.]*)@([a-z0-9-]{2,}(\.[a-z0-9-]{2,})*\.[a-z]{2,3})$/i;

如果不允许首字符为“.”,这样

re = /^(?!\.)([_a-z0-9.]*)@([a-z0-9-]{2,}(\.[a-z0-9-]{2,})*\.[a-z]{2,3})$/i;
[解决办法]
只要这样即可
re = /^([_a-z0-9.]*)@([a-z0-9-]{2,}(\.[a-z0-9-]{2,})*\.[a-z]{2,3})$/i;
[解决办法]
不过以上这些正则都无法避免两个.在一起的情况
ab......c@abc.com

改动一下:
re = /^([_a-z0-9]{1,}\.{1}[_a-z0-9]*)*@([a-z0-9-]{2,}(\.[a-z0-9-]{2,})*\.[a-z]{2,3})$/i;

这样就可以判断出以上不合法的情况,以及首字符不能为.的情况

读书人网 >asp.net

热点推荐