正则表达式 (Regex) 电子邮件验证

Regular Expressions (Regex) e-mail validation

我创建的 WinForm 中的文本框用于电子邮件。
我正在检查电子邮件格式的验证。该字符串似乎忽略了“。”健康)状况?根据我的测试,它运行:

  1. abcdef - 无效(正确)
  2. abcdef@gmail - 有效(不正确)
  3. abcdefgmail.com - 无效(正确)
  4. abcdef@gmail.com - 有效(正确)

代码段:

Regex RX = new Regex("^[-!#$%&'*+/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+/0-9=?A-Z^_a-z{|}~])*@[a-zA-Z](-?[a-zA-Z0-9])*(\.[a-zA-Z](-?[a-zA-Z0-9])*)+$");

我认为你需要在点前加一个反斜杠:

"^[a-zA-Z0-9]{1,20}@[a-zA-Z0-9]{1,20}\.[a-zA-Z]{2,3}$"

如果没有 \. 将匹配任何字符。