java公共正则表达式验证
private static final Logger log=LoggerFactory.getLogger(DataUtil.class);
/**
* 验证 手机号是否合法
* @param phone:手机号
* @return true:合法 false不合法
*/
public static boolean validatePhone(String phone){
boolean flag=false;
String reg="^((13[0-9])|(15[0-9])|(14[0-9])|(18[0-9]))\\d{8}$";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(phone).matches();
return flag;
}
/**
* 验证邮箱是否合法
* @param email 邮箱地址
* @return true:合法,false不合法
*/
public static boolean validateEmail(String email){
boolean flag=false;
String reg="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(email).matches();
return flag;
}
/**
* 验证电话格式是否正确
* @param telephone电话
* @return true格式正确;false:格式不正确
*/
public static boolean validateTelephone(String telephone){
boolean flag=false;
String reg="(^(\\+86\\-|86\\-)?[0-9]{3}[-]\\d{8})|(^(\\+86\\-|86\\-)?[0-9]{4}[-]\\d{7})";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(telephone).matches();
return flag;
}
/**
* 验证邮编是否符合要求
* @param str 邮政编号
* @return true:邮编正确 false:邮编错误
*/
public static boolean validateZip(String str){
boolean flag=false;
String reg="^([0-9])\\d{5}";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(fax).matches();
return flag;
}
/**
* 验证MSN账户
* @param str:msn账户
* @return true表明是msn ;false:表明非msn
*/
public static boolean validateMsn(String str){
boolean flag=false;
String reg="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@(live.com|hotmail.com|live.cn)";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(str).matches();
return flag;
}
/**
* 验证QQ号是否合法
* @param str QQ号码
* @return true是QQ号 false:不是QQ号
*/
public static boolean validateQQ(String str){
boolean flag=false;
String reg="^[1-9][0-9]{4,9}$";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(str).matches();
return flag;
}
/**
* 验证身份证号格式是否符合要求
* @param cardId 身份证号
* @return true:身份证符合要求足;false:身份证不符合要求
*/
public static boolean validateIdCard(String cardId){
boolean flag=false;
String reg="(^\\d{15}$)|(\\d{17}(?:\\d|x|X)$)";
Pattern pattern = Pattern.compile(reg);
flag=pattern.matcher(cardId).matches();
return flag;
}
/**
* 验证昵称是否符合要求(不能为纯数字,不能含有@字符,不能以数字开头)
* @param str 昵称
* @return true昵称合法 false昵称不合法
*/
public static boolean validateNickName(String str){
boolean flag=false;
String numReg="([\u4E00-\u9FA5]+[^@]+$)|(^[^@0-9]+([\u4E00-\u9FA5]+[^@]+|[^@]+[A-Za-z_]+|[^@]+\\d+)[^@]+$)";
Pattern pattern = Pattern.compile(numReg);
flag=pattern.matcher(str).matches();
return flag;
}