mat*_*att 2 regex email validation
我发现这个简单的正则表达式(我知道它可能不完美)在线某处验证电子邮件地址.
/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/
Run Code Online (Sandbox Code Playgroud)
问题是,这个正则表达式不允许以下情况:
myname@test-domain.com
my-name@test-domain.com
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
PS.我在javascript中使用这个正则表达式.
如果您只想添加连字符,可以将正则表达式更改为:
/^(?:\w+[\-\.])*\w+@(?:\w+[\-\.])*\w+\.\w+$/
Run Code Online (Sandbox Code Playgroud)
要添加其他特殊字符,例如下划线,只需将它们放在第一个(而不是第二个)方括号中,即更改[\-\.]为[\-\._].
还要看看这个问题及其答案.