2

我在网上某处发现了这个简单的正则表达式(我知道它可能并不完美)来验证电子邮件地址。

/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/

问题是,这个正则表达式不允许以下情况:

myname@test-domain.com
my-name@test-domain.com

有任何想法吗?

附言。我在 javascript 中使用这个正则表达式。

4

1 回答 1

5

如果您只想添加连字符,可以将正则表达式更改为:

/^(?:\w+[\-\.])*\w+@(?:\w+[\-\.])*\w+\.\w+$/

要添加其他特殊字符,例如下划线,只需将它们放在第一对(不是第二对)方括号中,即更改[\-\.][\-\._].

也看看这个问题及其答案。

于 2013-03-13T15:43:59.190 回答