本帖最后由 希望的曙光 于 2013-1-3 13:14 编辑
public class RegularTest {
public static void main(String[] args) {
String email = "6Abuyer2012@juapk.com.cn";
System.out.println(isEmail(email));
}
public static boolean isEmail(String email){
// 1、\\w+表示@之前至少要输入一个匹配字母或数字或下划线
// 2、(\\w+\\.)表示域名. 为了适应域名 domain.com.cn
// 所以后面{1,3}表示可以出现一次或两次或者三次.
/* 【邮箱和域名规则】
邮箱构成说明。邮箱以“用户名” + “@” + “域名” 组成。例如dahejin@126.com ,dahejin 是用户名,.com是域名
用户名由字母( A~Z 和 a~z )、数字( 0~9 )和字符( "-" 和 "." 和 "_" )组成。
域名由字母(A~Z,a~z)、数字(0~9)和连接符(-)组成。各级域名之间用实点(.)连接。
域名部分首字符、尾字符必须是字母或数字。
域名之间用实点(.)连接,且最多支持三级域名。(即@后最多支持3个.)
*/
String regular = "^(\\.|-|\\w)+@([a-z0-9A-Z]+([a-z0-9A-Z-]+[a-z0-9A-Z])?\\.){1,3}+[a-zA-Z]{2,4}$";
Pattern pattern = Pattern.compile(regular);
boolean flag = false;
if( email != null ){
Matcher matcher = pattern.matcher(email);
flag = matcher.matches();
}
return flag;
}
}
|