• Source
    1. /*
    2. Date : 12 October 2013
    3. Author : Shivam Tiwari [shivamtiwari1011@gmail.com]
    4. Organization : http://mycodedock.blogspot.in/
    5. Description : http://mycodedock.blogspot.in/2013/10/validating-e-mail-string-java.html
    6. */
    7.  
    8. import java.util.Scanner;
    9. import java.util.regex.Matcher;
    10. import java.util.regex.Pattern;
    11.  
    12. public class Main{
    13. public static void main(String[] args){
    14.  
    15. //declaring required variables
    16. String inputString, findPattern;
    17.  
    18. //creating a new Scanner object
    19. Scanner scannerObj = new Scanner(System.in);
    20.  
    21. /*
    22. Email starts with alpha numeric characters ([_A-Za-z0-9-])
    23. MAY (optional) have a . followed by alphanumeric characters, underscore & - (\\.[_A-Za-z0-9-] + ) { as in shivam.tiwari93@gmail.com}
    24. followed by @ and some alphanumeric characters, _ , - @[A-Za-z0-9] { as in @gmail}
    25. followed by . and some alphanumeric characters only (\\.[A-Za-z0-9]+) { as in .com}
    26. MAY have secondary string after . of alphanumeric type only ((\\.[A-Za-z]{2,})) {like .co.in} minimum length is 2
    27. */
    28. findPattern = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    29.  
    30. System.out.println("Enter your e-mail id : ");
    31.  
    32. //get inputString
    33. inputString = scannerObj.nextLine();
    34.  
    35. //create a pattern object
    36. Pattern patternObj = Pattern.compile(findPattern);
    37.  
    38. //create a matcher object
    39. Matcher matcherObj = patternObj.matcher(inputString);
    40.  
    41. if(matcherObj.find()){
    42. System.out.println("This is a valid e-mail id : " + inputString);
    43. }
    44. else{
    45. System.out.println("This is NOT a valid e-mail id : " + inputString);
    46. }
    47. }
    48. }