我想验证电子邮件格式的名称,可以处理这两种模式
test@domain.com
test user <test@domain.com>
test user<test@domain.com>
"test user" <test@domain.com>
"test user"<test@domain.com>
无效的
"test user" <test@domain.com
"test user" test@domain.com>
test user <test@domain.com
test user test@domain.com>
"test user <test@domain.com>
test user" <test@domain.com>
"test user" test@domain.com
这是我的进度:https://regex101.com/r/Q00McL/1
为什么4. "test user" test@domain.com (valid)
和7. "test user" test@domain.com (invalid)
项相同?
如果你想让"test user" test@domain.com
有效,使用这个模式:
^(?:(?:"[^"rn]+"|w+(?: +w+)*) *)?w+@[^<>s@]+.w{2,3}$
相反,如果"test user" test@domain.com
无效,则使用:
^(?:(?:"[^"rn]+"|w+(?: +w+)*)*)?w+@[^<>s@]+.w{2,3}$