正则表达式电子邮件验证 - 域中没有连续的连字符

时间:2014-09-10 01:44:50

标签: javascript regex email

我有这个regulular表达式来验证电子邮件ID,但我不允许在域上连续使用两个连字符,但无论我做了什么修复,它都不适用于我。有人可以帮忙吗?

/^[a-zA-Z\-0-9](([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\-\].,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

测试ID失败案例:sant@y--t.com

请帮忙,谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

^[a-zA-Z\-0-9](([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\-\].,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9](?:[a-zA-Z0-9]|-(?!-))*\.)+[a-zA-Z]{2,}))$

Demo


变化:

([a-zA-Z\-0-9]+\.)

要:

([a-zA-Z0-9](?:[a-zA-Z0-9]|-(?!-))*\.)

匹配一个[a-zA-Z0-9],然后循环遍历[a-zA-Z0-9]-(只要未跟随另一个-)重复0次以上。