用斜杠分隔的正则表达式电子邮件

时间:2015-03-12 02:10:55

标签: regex

如何确保所有电子邮件都以html模式中的斜杠分隔?以下是我到目前为止的情况。 (正则表达式新手在这里)

^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+[/]{1,4}$

目前:

  • abc@abc.com,abc@abc.com false
  • abc@abc.com/def@def.com false
  • abc@abc.com/aaa@aaa.com/ false
  • abc@abc.com/ true

我的目标:

  • abc@abc.com,abc@abc.com false
  • abc@abc.com/def@def.com true
  • abc@abc.com/aaa@aaa.com/ false
  • abc@abc.com/ false
  • abc@abc.com true

1 个答案:

答案 0 :(得分:1)

使用量化组允许任何数字(包括0)的电子邮件在开头跟随/,然后在结尾处发送一封电子邮件。

^(?:[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+\/)*[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+$

DEMO

如果您只想允许1-4封电子邮件,请将*更改为{0,3}。这只是0-3,因为它只计算3封电子邮件,后面跟/,而不是最后的电子邮件。

要限制总大小,您可以在开头使用前瞻:

^(?=.{0,320}$)(?:[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+\/)*[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+$