Search code examples
androidpattern-matchingemail-validation

android.util.Patterns.EMAIL_ADDRESS is validating invalid emails


These are few emails which are not valid.

[email protected]
[email protected]

I have checked above emails in following websites, All of those returns invalid. http://isemail.info/about http://sqa.fyicenter.com/Online_Test_Tools/Email_Address_Format_Validator.php.

Yet, android.util.Patterns.EMAIL_ADDRESS pattern validates both.

Is there a bug or am I missing something?


Solution

  • Both seems to be valid email addresses

    [email protected]
    [email protected]

    since any email address contains three components

    <username>@<mail-server>.<mail-servertype or server-location>
    

    Here android.util.Patterns.EMAIL_ADDRESS validates all the three components using regex and also checks if all three components are placed properly. Some common confusing examples are:

    1. [email protected] is a valid mail address since com can be a user name and web123 can be a web server's name.

    2. [email protected] is also a valid mail address since .maths.apple can be a user name and com can be a web server's name.

    Invalid case:

    [email protected] is invalid since a . cannot come before or after @. No mailing system will be able to recognize the username or mail-server name.