正则表达式HTML5示例解决方案中的正则表达式模式

时间:2014-06-28 14:05:49

标签: regex html5 character-encoding expression

我正在测试输入元素的patterns-attribute,我构建了一个应该执行以下操作的正则表达式:用于测试输入是否是有效的电子邮件地址。是否有可能像我在HTML5中那样对各种正则表达式进行分组?

我试图像这样分组:

pattern="[ ([a-zA-Z0-9+-.]{1,}) ([@]{1}) ([a-zA-Z0-9+-.]{1,}) ([.]{1}) ([a-zA-Z0-9+-.]{1,}) ]{5,254}"
  1. 允许来自a-zA-Z以及0-9+-.的所有字符至少包含1个字符。
  2. 之后应该是@
  3. 允许来自a-zA-Z以及0-9+-.的所有字符至少包含1个字符。
  4. 后面应加一个点.
  5. 允许来自a-zA-Z以及0-9+-.的所有字符至少包含1个字符。
  6. 总共允许5-254个字符。

1 个答案:

答案 0 :(得分:1)

以下正则表达式将满足您的所有条件。您无需在模式中添加空间,

^(?=.{5,254}$)[a-zA-Z0-9+-.]{1,}@[a-zA-Z0-9+-.]{1,}[.]{1}[a-zA-Z0-9+-.]{1,}

在演示输入中添加单个字符,您可以看到差异。

DEMO