正则表达式为多个电子邮件地址
我有一个正则表达式,如下所示:
^[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)a @ gmail.com,b @ gmail.com ==>有效
(3)c @ gmail,d @ gmail.com ==>无效
无论有多少电子邮件用户填写,电子邮件地址都应为完整格式。
我应该如何修改它? 有人能帮我吗?
用这个:
^([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})*?
查看RegExr上的这个演示
感谢@WiktorStribiżew指出我以前的RegEx允许拖尾,
上一篇: Regular expression for the multiple email address
下一篇: Regex validation in java and java scipt for email address