简单电子邮件regexp不';不允许前后连字符@

简单电子邮件regexp不';不允许前后连字符@,regex,validation,email,Regex,Validation,Email,我在网上的某个地方找到了这个简单的regexp(我知道它可能并不完美)来验证电子邮件地址 /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/ 问题是,此regexp不允许以下情况: myname@test-domain.com my-name@test-domain.com 有什么想法吗 另外,我正在javascript中使用此regexp。如果您只想添加连字符,可以将regexp更改为: /^(?:\w+[\-\.])*\w+@(?:\w+[\-\.])*\w+\.\w+$/

我在网上的某个地方找到了这个简单的regexp(我知道它可能并不完美)来验证电子邮件地址

/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/
问题是,此regexp不允许以下情况:

myname@test-domain.com
my-name@test-domain.com
有什么想法吗


另外,我正在javascript中使用此regexp。

如果您只想添加连字符,可以将regexp更改为:

/^(?:\w+[\-\.])*\w+@(?:\w+[\-\.])*\w+\.\w+$/
要添加其他特殊字符,例如下划线,只需将它们放在第一(而不是第二)对方括号中,即将
[\-\.]
更改为
[\-\.]

也看看