[
https://issues.apache.org/jira/browse/WW-3885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13472304#comment-13472304
]
Martin Uhlir edited comment on WW-3885 at 10/11/12 3:19 AM:
------------------------------------------------------------
I have created new patch files (ignore the previous ones) and made the regular
expression evaluating the email address more readable.
Please, anyone review this regular expression:
{noformat}
\\b^['_a-z0-9-\\+]+(\\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2}|aero|arpa|asia|biz|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel|xxx)$\\b
{noformat}
This patch even includes fixes for WW-3883 ('+' sign in the local-part of email
address).
was (Author: stoupa91):
I have created new patch files (ignore the previous ones) and made the
regular expression evaluating the email address more readable.
Please, anyone review this regular expression:
{noformat}
\\b^['_a-z0-9-\\+]+(\\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.aero|\\.arpa|\\.asia|\\.biz|\\.com|\\.coop|\\.edu|\\.gov|\\.info|\\.int|\\.jobs|\\.mil|\\.mobi|\\.museum|\\.name|\\.nato|\\.net|\\.org|\\.pro|\\.tel|\\.travel|\\.xxx|\\.[a-z]{2})$\\b
{noformat}
This patch even includes fixes for WW-3883 ('+' sign in the local-part of email
address).
> Invalid email address validation (client side). EmailValidator regex
> implementation doesn't match documentation.
> ----------------------------------------------------------------------------------------------------------------
>
> Key: WW-3885
> URL: https://issues.apache.org/jira/browse/WW-3885
> Project: Struts 2
> Issue Type: Bug
> Components: Core Interceptors, Documentation
> Affects Versions: 2.3.4.1
> Reporter: Martin Uhlir
> Labels: patch
> Fix For: 2.3.6
>
> Attachments: WW-3885-struts2-core.patch, WW-3885-xwork-core.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> EmailValidator documentation specifies following regular expression to
> validate email addresses:
> {noformat}
> \\b(^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b
> {noformat}
> but the actual implementation uses following regular expression:
> {noformat}
> \\b(^['_A-Za-z0-9-]+(\\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z0-9]{2,})|(\\.[A-Za-z0-9]{2,}\\.[A-Za-z0-9]{2,}))$)\\b
> {noformat}
> which is wrong, because this email address "[email protected]" is being
> validated as a correct email address (I experience this issue in client side
> validation).
> The (more?) correct regular expression should be probably the one specified
> in the documentation, but care needs to be taken of the apostrophe for the
> front part of the email address as well. The resulting regular expression
> might be something like this:
> {noformat}
> \\b(^['_A-Za-z0-9-]+(\\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira