正则表达式应该只接受5个7字母[关闭]

问题描述 投票:-1回答:1

我有这个正则表达式

var reg = /^[a-zA-Z0-9._]+@[gmail | yahoo | hotmail]{5,7}.[com | net | org]{3}$/

我想接受“gmail hotmail和yahoo”与“.com .net和.org”是否有任何方法......根据我的需要设置上述正则表达式。

另外如何设置范围,使其只接受5和7个字符的长度。

javascript regex email-validation
1个回答
0
投票

正确的语法如下所示:

^[a-zA-Z0-9._]+@(gmail|yahoo|hotmail)\.(com|net|org)$

Explanation

方括号([])用于测试一组给定字符中的字符。圆括号(())用于测试一组给定字符串中的特定字符串(非字符)。你应该把|读成“或”。

例子

  • [abc]将匹配abc
  • (A1|B2|C2)将匹配A1B2C3

此外,如果你没有逃脱它(.),\.角色将被解释为“任何角色”,除非在方形括号内使用。

© www.soinside.com 2019 - 2024. All rights reserved.