需要验证单个域级别或多级域名的电子邮件地址。(实际上是域级别< = 4)
标准
例如:email@my.sub.mail.com
以上示例有4个域;
我尝试使用此RegEx:
^[a-zA-Z](:?[a-zA-Z0-9._-])+(@[a-zA-Z]+[a-zA-Z0-9_-])+\.+(([a-zA-Z]){2,6})$
但是正则规则正确无法正确验证多个域。它只获得1个域名。 例如:myemail@gmail.com
答案 0 :(得分:1)
您的正则表达式在接受电子邮件地址时应用了更多规则。例如。允许电子邮件地址包含多个@
符号。像你自己的规则一样简单:
^[a-z][^@]*@(([a-z][a-z0-9-]+)\.){0,3}(?2)$
答案 1 :(得分:1)
也许这就是你正在寻找的东西
^
[a-zA-Z][-.\w]* # before @
@
[a-zA-Z][-.\w]+ # first subdomain
(?:
\.[a-zA-Z][-.\w]+ # eventually others
){1,3}
$