支持 手機號、座機號、身份證、微信號、密碼、QQ、郵箱正則
import java.util.regex.Pattern;
public class Validator {
/**
* 手機號正則
*/
public static String REGEX_PHONE = "^(13[0-9]|14[5-9]|15[0-3,5-9]|16[2,5,6,7]|17[0-8]|18[0-9]|19[1,3,5,8,9])\\d{8}$";
/**
* 座機號正則
*/
public static String REGEX_LAND_LINE = "0\\d{2,3}-\\d{7,8}";
/**
* 身份證正則
*/
public static String REGEX_ID_CARD = "^(\\d{6})(19|20)(\\d{2})(1[0-2]|0[1-9])(0[1-9]|[1-2][0-9]|3[0-1])(\\d{3})(\\d|X|x)?$";
/**
* 微信號正則
*/
public static String REGEX_WE_CHAT = "^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}+$";
/**
* 密碼正則 (密碼長度爲8到20位,必須包含字母和數字,字母區分大小寫)
*/
public static String REGEX_PASSWORD = "^(?=.*[0-9])(?=.*[a-zA-Z])(.{8,20})$";
/**
* 郵箱正則
*/
public static String REGEX_EMAIL= "^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$";
/**
* 是否是手機號
*
* @param number
* @return
*/
public static boolean isPhone(String number) {
Pattern pattern = Pattern.compile(REGEX_PHONE);
return pattern.matcher(number).matches();
}
/**
* 是否是手機號
*
* @param number
* @return
*/
public static boolean isLandline(String number) {
Pattern pattern = Pattern.compile(REGEX_LAND_LINE);
return pattern.matcher(number).matches();
}
/**
* 是否是身份證號(粗略的校驗)
*
* @param number
* @return
*/
public static boolean isIdCard(String number) {
Pattern pattern = Pattern.compile(REGEX_ID_CARD);
return pattern.matcher(number).matches();
}
/**
* 是否是微信號
*
* @param number 微信賬號僅支持6-20個字母、數字、下劃線或減號,以字母開頭
* @return
*/
public static boolean isWeChat(String number) {
Pattern pattern = Pattern.compile(REGEX_WE_CHAT);
return pattern.matcher(number).matches();
}
/**
* 是否是密碼
* @param password 密碼長度爲8到20位,必須包含字母和數字,字母區分大小寫
* @return
*/
public static boolean isPassword(String password){
Pattern pattern = Pattern.compile(REGEX_PASSWORD);
return pattern.matcher(password).matches();
}
/**
* 郵箱正則
* @param mail
* @return
*/
public static boolean isEmail(String mail){
Pattern pattern = Pattern.compile(REGEX_EMAIL);
return pattern.matcher(mail).matches();
}
/**
* QQ號格式
*
* @param number
* @return
*/
public static boolean isQQ(String number) {
if (number == null) {
return false;
}
if (number.length() == 0) {
return false;
}
if (number.startsWith("0")) {
return false;
}
if (number.length() < 5) {
return false;
}
if (number.length() > 12) {
return false;
}
return true;
}
}