我的电子邮件地址格式如 username@domain.extension
我使用以下正则表达式来验证我的电子邮件地址:
[a-zA-Z]+\s<\b[a-z0-9._-]+@[a-zA-Z]+\.[A-Za-z]{1,3}\b>
电子邮件地址:
this <is@valid.com>
this <is_it@valid.com>
this <_is@notvalid.com>
this <.is@notvalid.com>
this <-is@notvalid.com>
它匹配电子邮件地址1,2,3而4,5有。并且 - 在域的开头,所以它被拒绝了。那么,为什么第3封电子邮件会在域名的开头强调它导致问题并被接受。我不能。根据上述说明,在域的开头, - ,_ 。这是link
纠正ans: 1,2电子邮件应该只匹配
答案 0 :(得分:0)
<\b
之后您的角色类正在接受_
,因此任何以-
开头的电子邮件地址也会变为有效。
您可以使用此正则表达式仅允许使用字母作为电子邮件的起始字母:
[a-zA-Z]+\s<\b[A-Za-z][a-zA-Z0-9._-]*@[a-zA-Z]+\.[A-Za-z]{1,3}\b>
或者您可以使用\w
:
[a-zA-Z]+\s<\b[a-zA-Z][\w.-]*@[a-zA-Z]+\.[A-Za-z]{1,3}\b>
答案 1 :(得分:0)