/**
* 验证邮箱和手机号
* @ClassName: RegularUtil
* @Description:
* @date 2012-4-26下午06:21:54
*/
public class RegularUtil {
/**
* 测试
* @param args
*/
public static void main(String[] args) {
String email = "6Abuyer2012@juapk.com.cn";
System.out.println(isEmail(email));
// String mobile = "18600881158";
// System.out.println(isTelePhoneNumber(mobile));
// System.out.println(isLegalAnswer("aA1中"));
}
/**
* 验证是否是合法的密保答案
* @param answer
* 密保答案
* @return boolean
* 密保答案只能为数字、字母、汉字
* true表示是正确的密保答案格式,false表示不是正确密保答案格式
*/
public static boolean isLegalAnswer(String answer){
String regular = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]+$";
Pattern pattern = Pattern.compile(regular);
boolean flag = false;
if( answer != null ){
Matcher matcher = pattern.matcher(answer);
flag = matcher.matches();
}
return flag;
}
/**
* 验证是否是正确的邮箱格式
* @param email
* 电子邮箱
* @return boolean
*
* true表示是正确的邮箱格式,false表示不是正确邮箱格式
*/
public static boolean isEmail(String email){
// 1、\\w+表示@之前至少要输入一个匹配字母或数字或下划线
// 2、(\\w+\\.)表示域名. 为了适应域名 domain.com.cn
// 所以后面{1,3}表示可以出现一次或两次或者三次.
/* 【邮箱和域名规则】
邮箱构成说明。邮箱以“用户名” + “@” + “域名” 组成。例如 username@mail.domain.com ,username 是用户名,mail.domain.com是域名。(mail是二级域名、domain为一级域名)
用户名由字母( 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;
}
/**
* 验证是否是正确的手机号格式
* @param telePhoneNumber
* 电话号码
* @return boolean
*
* true表示是正确的手机号格式,false表示不是正确的手机号格式
*/
public static boolean isTelePhoneNumber(String telePhoneNumber){
//当前运营商号段分配
//中国移动号段 1340-1348 135 136 137 138 139 150 151 152 157 158 159 187 188 147
//中国联通号段 130 131 132 155 156 185 186 145
//中国电信号段 133 1349 153 180 189
String regular = "1[3,4,5,8]{1}\\d{9}";
Pattern pattern = Pattern.compile(regular);
boolean flag = false;
if( telePhoneNumber != null ){
Matcher matcher = pattern.matcher(telePhoneNumber);
flag = matcher.matches();
}
return flag;
}
}