多个电子邮件地址的正则表达式

时间:2016-03-17 07:55:05

标签: regex

我有一个正则表达式如下:

^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$

从上面的正则表达式:
(1)a@gmail.com ==>有效的 (2)b @gmail。 ==>无效
(3)c @ gmail ==>无效

上述正则表达式仅适用于单个电子邮件地址。

但现在,我想要如下:
(1)a@gmail.com ==>有效
(2)@ gmail.com,b @ gmail.com ==>有效
(3)c @ gmail,d @ gmail.com ==>无效

无论有多少电子邮件用户填写,电子邮件地址都应为完整格式 我应该如何修改它?有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

使用此:

^([A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})(,[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})*?$

第一部分将选择一个电子邮件地址:

([A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})

然后第二部分类似,但必须以逗号(,)开头,整个部分是可选的(?

(,[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})*?

查看this demo on RegExr

感谢@Wiktor Stribiżew指出我以前的RegEx允许跟踪,