显示"输入有效的电子邮件地址"如果用户在@符号后使用了三个点

时间:2016-04-29 11:23:46

标签: javascript jquery validation

如果用户输入steve@gmail.com.co.nz之类的三个点,我想显示错误消息,因此如果用户使用.co .nz之后,应该抛出错误,因为用户已输入两个点。 以下是我现在正在使用的电子邮件验证

var EmailValid = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9.-]+[A-Za-z0-9'\.\-\s\,\#\]*(\\.[A-Za-z]{2,3})$";

知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

这是我提出的,基于您的正则表达式以及.符号后面不超过三@的条件:

^[\w-+]+(?:\.[\w-]+)*@[\w-]+\.[\w'\-\s,#\\]*\.?(?:[A-Za-z]{2,3})$

注意:

  • 我将_A-Za-z0-9替换为\w,因为它是相同的。
  • 我将.匹配从量词中移出(即+*),因为您需要匹配1-2个最大.秒之后@标志。
  • 我为电子邮件保留了大部分必需的匹配项,即使我之前从未在电子邮件结尾处看过这样的符号。所以那里可能还有改进的余地。

铁路图:

enter image description here

Regex101