电子邮件地址顶级域的JavaScript验证

电子邮件地址顶级域的JavaScript验证,javascript,email,Javascript,Email,我试图创建一些JavaScript验证,只允许输入电子邮件地址的顶级域。e、 g.(@gmail.com) 我使用了下面的代码片段来尝试对输入进行形式验证,但是它仍然允许输入完整的电子邮件地址。e、 g(mark@gmail.com) 提前感谢您对此问题的任何意见 有一个符号用于匹配输入的开头:^。只需将其添加到正则表达式的开头: function isEmailDomain(emailDomainVar){ var regEmail = /^@(([a-zA-Z0-9-])+.)+([a-

我试图创建一些JavaScript验证,只允许输入电子邮件地址的顶级域。e、 g.(@gmail.com)

我使用了下面的代码片段来尝试对输入进行形式验证,但是它仍然允许输入完整的电子邮件地址。e、 g(mark@gmail.com)


提前感谢您对此问题的任何意见

有一个符号用于匹配输入的开头:
^
。只需将其添加到正则表达式的开头:

function isEmailDomain(emailDomainVar){
  var regEmail = /^@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

  return regEmail.test(emailDomainVar);
}

以下是进一步阅读。

这对你有用。^[a-z0-9](\.?[a-z0-9]){5,}@g(oogle)?mail\.com$似乎对我不起作用:(另外,如果可能的话,你想拥有比gmail更多的域名如果你有一个固定的域名列表,那么为什么要首先使用regex…将它们放入一个数组中,然后检查数组中是否存在用户输入的内容。(无论您是先从用户输入中拆分前导的
@
,还是使用前导的
@
-将所有值插入数组,由您决定…)多亏了下面的答案,我的验证规则中缺少了“^”符号。我不想让它限制特定域名的原因是,输入字段的目的是屏蔽电子邮件地址的第一部分,例如“Josh”josh@gmail.com.我想我是李在我最初的解释中,我并不清楚这一点,因此我对此表示歉意,但感谢您的所有意见!
function isEmailDomain(emailDomainVar){
  var regEmail = /^@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

  return regEmail.test(emailDomainVar);
}