电子邮件验证器正则表达式

4

3
可能是重复的问题:Regexp recognition of email address hard?。虽然这个问题特别提到了“本地部分”是有关系的,但答案很可能已经在任何其他已经被问过的电子邮件+正则表达式问题中找到。 - Aron Rotteveel
@Aron Rotteveel。@Thomman 只想验证电子邮件地址的 本地部分 - Raghuram
1
@Raghuram:这正是我在上面的评论中解释的。 - Aron Rotteveel
2个回答

1

来自维基百科(电子邮件地址文章中的语法部分)

电子邮件地址的本地部分可以使用以下任何ASCII字符:

  • 大写和小写英文字母(a-z,A-Z)
  • 数字0到9
  • 字符!# $%&'* + - / =?^ _ ` { | } ~
  • 字符.(点,句号,句号),前提是它不是第一个或最后一个字符,并且还要求它不连续出现两次或更多次(例如John..Doe@example.com)。

该语法在RFC 5322 第3.4.1节和RFC 5321中得到正式定义。它由一个以此为开头的本地部分语法规则定义:

local-part      =   dot-atom / quoted-string / obs-local-part
atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
                   "!" / "#" /        ;  characters not including
                   "$" / "%" /        ;  specials.  Used for atoms.
                   "&" / "'" /
                   "*" / "+" /
                   "-" / "/" /
                   "=" / "?" /
                   "^" / "_" /
                   "`" / "{" /
                   "|" / "}" /
                   "~"

atom            =   [CFWS] 1*atext [CFWS]

dot-atom-text   =   1*atext *("." 1*atext)

dot-atom        =   [CFWS] dot-atom-text [CFWS]

...

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接