是否有HTML5输入电子邮件验证的Java实现?

Ada*_*dam 8 java validation html5 input email-validation

我想使用新<input type="email" />元素.我想拥有在浏览器中实现的服务器上实现相同验证的Java代码.

HTML5的规范定义的电子邮件地址ABNF为:

1*( atext / "." ) "@" ldh-str *( "." ldh-str )
Run Code Online (Sandbox Code Playgroud)

其中:

<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>

<let-dig-hyp> ::= <let-dig> | "-"

<let-dig> ::= <letter> | <digit>

<letter> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case

<digit> ::= any one of the ten digits 0 through 9
Run Code Online (Sandbox Code Playgroud)

并且:

atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
                       "!" / "#" /        ;  characters not including
                       "$" / "%" /        ;  specials.  Used for atoms.
                       "&" / "'" /
                       "*" / "+" /
                       "-" / "/" /
                       "=" / "?" /
                       "^" / "_" /
                       "`" / "{" /
                       "|" / "}" /
                       "~"
Run Code Online (Sandbox Code Playgroud)

这些都是相同的规则在RFC 5322.如何在Java中测试地址是否符合这些规则?

谢谢!

SLa*_*aks 6

你可以使用正则表达式:

[A-Za-z0-9!#$%&'*+-/=?^_`{|}~]+@[A-Za-z0-9-]+(.[A-Za-z0-9-]+)*