[ 
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

Reply via email to