我正在测试输入元素的patterns属性,并且我构建了一个应该执行以下操作的正则表达式:用于测试输入是否是有效的电子邮件地址。是否有可能像我在HTML5中那样对各种正则表达式进行分组?
我试着这样分组:
pattern="[ ([a-zA-Z0-9+-.]{1,}) ([@]{1}) ([a-zA-Z0-9+-.]{1,}) ([.]{1}) ([a-zA-Z0-9+-.]{1,}) ]{5,254}"
- 允许
a-z
、A-Z
、0-9
、+-.
中的任意字符,至少1个字符。 - 后面应该有一个
@
。 - 允许
a-z
和A-Z
,0-9
和+-.
中的任何字符,至少1个字符。 - 后面应该有一个点
.
。 - 允许
a-z
和A-Z
以及0-9
和+-.
中的任何字符,至少1个字符。 - 总共允许5-254个字符。
下面的正则表达式将满足您的所有条件。你不需要在模式中添加空格,
^(?=.{5,254}$)[a-zA-Z0-9+-.]{1,}@[a-zA-Z0-9+-.]{1,}[.]{1}[a-zA-Z0-9+-.]{1,}
在演示输入中添加一个字符,您可以看到差异。
演示