1

我有这个正则表达式

"^\w+@(email1|email2|email3|email4|email5)+?\.[a-zA-Z]{2,3}$"

这可以限制人们可以用来注册的域名。但是有些人的地址是这样的:

FirstName.LastName@email1.com

因此,即使他们的域名匹配,他们也无法注册。

关于如何"first.last"在此正则表达式中包含可选选项的任何建议?

4

3 回答 3

3

这个正则表达式应该适合你:

^[a-zA-Z0-9.!#$%&'*+-\/=?\^_`{|}~-]+@(?:email1|email2|email3|email4|email5)(?:\.[a-zA-Z0-9-]+)+$

这将涵盖以下情况:

  • abc@email1.com
  • abc@email2.co.uk
  • abc@email3.jp.co.uk
  • first.last@email4.jp.co.uk

现场演示:http ://www.rubular.com/r/VmPw0Q3unZ

于 2013-04-12T18:45:50.840 回答
1

简单地检查 not@怎么样?

^[^@]+@...

实际检查.:(如果任何地方超过 1 个都可以)

^(\w|\.)+@...

如果你想限制.为1:

^\w+(\.\w+)?@...

(在...哪里(email1|email2|email3|email4|email5)+?\.[a-zA-Z]{2,3}$

于 2013-04-12T18:32:57.617 回答
0

您构建了一个较小的正则表达式来处理域之前电子邮件初始部分的验证。现在您正在使用\w+,所以如果您仅验证这两种情况(word 或 word.word),您可以将正则表达式更改为^(\w|\w.\w)+@(email1|email2|email3|email4|email5)+?.[a-zA-Z]{2,3}$

于 2013-04-12T18:34:07.880 回答