public static boolean isValidEmailAddress(String emailAddress) {
/**
* 1. ^(caret): Matches at the start of the string the regex pattern is applied to.
* 2. \ (backslash) followed by any of ^-]\ : A backslash escapes special characters to suppress their special meaning.
* 3. () The ( (open parenthesis) and ) (close parenthesis) may be used to group (or bind) parts of our search expression together
* 4. * The * (asterisk or star) matches the preceding character 0 or more times, for example, tre* will find tree (2 times) and tread (1 time) and trough (0 times).
* 5. + The + (plus) matches the previous character 1 or more times, for example, tre+ will find tree (2 times) and tread (1 time) but not trough (0 times).
*/
String expression = "^[\\w\\-]([\\.\\w])*[\\w]*@([\\w\\-]+\\.)+[A-Z]{2,4}$";
CharSequence inputStr = emailAddress;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
return matcher.matches();
}
public static void main(String args[]){
System.out.println("1:" + isValidEmailAddress("@gb.com"));
System.out.println("2:" +isValidEmailAddress("a@gb.com"));
System.out.println("3:" +isValidEmailAddress("-@gb.com"));
System.out.println("4:" +isValidEmailAddress("-a@gb.com"));
System.out.println("5:" +isValidEmailAddress("a-@gb.com"));
System.out.println("6:" +isValidEmailAddress("a-b@gb.com"));
System.out.println("7:" +isValidEmailAddress("ab@gb.com"));
System.out.println("8:" +isValidEmailAddress("abc@gb.com"));
System.out.println("9:" +isValidEmailAddress("abc.b.c.d@gb.com"));
System.out.println("10:" +isValidEmailAddress("abc.b.c.d.@gb.com"));
System.out.println("11:" +isValidEmailAddress("!!!a@gb.com"));
System.out.println("12:" +isValidEmailAddress("a.b@gb.abc.cde.efg.com"));
}
result:
1:false
2:true
3:true
4:true
5:false
6:false
7:true
8:true
9:true
10:true
11:false
12:true
Comments: this is just for your information. The regular expression I used is bad. I implement this email Valiator function by changing the source code of apache common Email Validator finally.
/**
* 1. ^(caret): Matches at the start of the string the regex pattern is applied to.
* 2. \ (backslash) followed by any of ^-]\ : A backslash escapes special characters to suppress their special meaning.
* 3. () The ( (open parenthesis) and ) (close parenthesis) may be used to group (or bind) parts of our search expression together
* 4. * The * (asterisk or star) matches the preceding character 0 or more times, for example, tre* will find tree (2 times) and tread (1 time) and trough (0 times).
* 5. + The + (plus) matches the previous character 1 or more times, for example, tre+ will find tree (2 times) and tread (1 time) but not trough (0 times).
*/
String expression = "^[\\w\\-]([\\.\\w])*[\\w]*@([\\w\\-]+\\.)+[A-Z]{2,4}$";
CharSequence inputStr = emailAddress;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
return matcher.matches();
}
public static void main(String args[]){
System.out.println("1:" + isValidEmailAddress("@gb.com"));
System.out.println("2:" +isValidEmailAddress("a@gb.com"));
System.out.println("3:" +isValidEmailAddress("-@gb.com"));
System.out.println("4:" +isValidEmailAddress("-a@gb.com"));
System.out.println("5:" +isValidEmailAddress("a-@gb.com"));
System.out.println("6:" +isValidEmailAddress("a-b@gb.com"));
System.out.println("7:" +isValidEmailAddress("ab@gb.com"));
System.out.println("8:" +isValidEmailAddress("abc@gb.com"));
System.out.println("9:" +isValidEmailAddress("abc.b.c.d@gb.com"));
System.out.println("10:" +isValidEmailAddress("abc.b.c.d.@gb.com"));
System.out.println("11:" +isValidEmailAddress("!!!a@gb.com"));
System.out.println("12:" +isValidEmailAddress("a.b@gb.abc.cde.efg.com"));
}
result:
1:false
2:true
3:true
4:true
5:false
6:false
7:true
8:true
9:true
10:true
11:false
12:true
Comments: this is just for your information. The regular expression I used is bad. I implement this email Valiator function by changing the source code of apache common Email Validator finally.
Comments
Post a Comment