Code for validating email in java

08-Nov-2019 07:46

[email protected]"); emails.add("user'[email protected]"); //Invalid emails emails.add("@yahoo.com"); String regex = "^[a-z A-Z0-9_! `~^.-] @[a-z A-Z0-9.-] $"; Pattern pattern = Pattern.compile(regex); for(String email : emails) Output: [email protected]: true [email protected] : true [email protected]: true user? List emails = new Array List(); emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); //Invalid emails emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); emails.add("[email protected]"); String regex = "^[\w!

^ #start of the line [_A-Za-z0-9-\ ] # must start with string in the bracket [ ], must contains one or more ( ) ( # start of group #1 \.[_A-Za-z0-9-] # follow by a dot "." and string in the bracket [ ], must contains one or more ( ) )* # end of group #1, this group is optional (*) @ # must contains a "@" symbol [A-Za-z0-9-] # follow by string in the bracket [ ], must contains one or more ( ) ( # start of group #2 - first level TLD checking \.[A-Za-z0-9] # follow by a dot "." and string in the bracket [ ], must contains one or more ( ) )* # end of group #2, this group is optional (*) ( # start of group #3 - second level TLD checking \.[A-Za-z] # follow by a dot "." and string in the bracket [ ], with minimum length of 2 ) # end of group #3 $ #end of the line The combination means, email address must start with “_A-Za-z0-9-\ ” , optional follow by “.[_A-Za-z0-9-]”, and end with a “@” symbol. Email is valid : [email protected], true Email is valid : [email protected], true Email is valid : [email protected], true Email is valid : [email protected], true Email is valid : [email protected], true Email is valid : [email protected] , true Email is valid : [email protected], true Email is valid : [email protected] , true Email is valid : mkyong [email protected], true Email is valid : [email protected], true Email is valid : mkyong , false Email is valid : [email protected] , false Email is valid : [email protected] , false Email is valid : [email protected], false Email is valid : [email protected] , false Email is valid : [email protected], false Email is valid : mkyong()*@, false Email is valid : [email protected]%*, false Email is valid : [email protected], false Email is valid : [email protected], false Email is valid : [email protected]@, false Email is valid : [email protected] , false PASSED: Valid Email Test([

You can test your program and reassure that your regular expression meets the rules on your policy about the form of the email addresses. My main concern was the performence of the Get Username() method. Is using the method within itself the best choice in this case? Again subdomain can be of multiple levels like One more important thing to note is that email addresses are case insensitive. So we will use case insensitive flag to create the pattern object.

You can test your program and reassure that your regular expression meets the rules on your policy about the form of the email addresses. My main concern was the performence of the Get Username() method. Is using the method within itself the best choice in this case? Again subdomain can be of multiple levels like One more important thing to note is that email addresses are case insensitive. So we will use case insensitive flag to create the pattern object. Restrictions in above regex are:1) A-Z characters allowed 2) a-z characters allowed 3) 0-9 numbers allowed 4) Additionally email may contain only dot(.), dash(-) and underscore(_) 5) Rest all characters are not allowed Let’s test some email addresses against above regex.