VerifyTool.java import java.util.UUID;import java.util.regex.Pattern;import org.apache.commons.lang3.StringUtils;public class VerifyTool { private final static Pattern EMAILER = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\
import java.util.UUID;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
public class VerifyTool {
private final static Pattern EMAILER = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
private final static Pattern MOBILER = Pattern.compile(
"^(((13[0-9])|(14[5,7])|(15([0-3]|[5-9]))|(17[0,3,6-8])|(18[0-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7,8})$");
private final static Pattern LINKER = Pattern.compile("[a-zA-z]+://[^\\s]*");
private final static Pattern DATER = Pattern.compile("^(\\d{4})-(0\\d{1}|1[0-2])-([012]\\d{1}|3[01])$");
public final static int LENGTH_OF_UUID = UUID.randomUUID().toString().length();
public final static int LENGTH_OF_UUID_SPLITTED = 5;
/**
* 检查邮箱格式合法性
*
* @param email
* @return
*/
public static boolean checkEmail(String email) {
if (StringUtils.isBlank(email)) {
return false;
}
return EMAILER.matcher(email).matches();
}
/**
* 检查手机格式合法性
*
* @param mobile
* @return
*/
public static boolean checkMobile(String mobile) {
if (StringUtils.isBlank(mobile)) {
return false;
}
return MOBILER.matcher(mobile).matches();
}
/**
* 检查链接格式合法性
*
* @param link
* @return
*/
public static boolean checkLink(String link) {
if (StringUtils.isBlank(link)) {
return false;
}
return LINKER.matcher(link).matches();
}
/**
* 检查日期格式,格式:yyyy-MM-dd 注:这里没有判断闰年等的逻辑,仅判断基本的格式和数值范围
*
* @param dateStr
* @return
*/
public static boolean checkDate(String dateStr) {
if (StringUtils.isBlank(dateStr)) {
return false;
}
return DATER.matcher(dateStr).matches();
}
/**
* 检查是否数字
*
* @param number
* @return
*/
public static boolean checkNumber(String number) {
return StringUtils.isNotBlank(number) && StringUtils.isNumeric(number);
}
/**
* 使用自定义正则表达式,检查数据格式
*
* @param toCheckValue 要检查的数据
* @param regular 正则表达式
* @return 如果满足条件,返回true;否则,返回false。
*/
public static boolean checkByRegular(String toCheckValue, String regular) {
if (StringUtils.isBlank(toCheckValue)) {
return false;
}
Pattern myRegular = Pattern.compile(regular);
return myRegular.matcher(toCheckValue).matches();
}
/**
* 检查所有输入是否有空值
*
* @param inputList
* @return true:有空值;false:无空值
*/
public static boolean isInputBlank(String... inputList) {
for (String input : inputList) {
if (StringUtils.isBlank(input)) {
return true;
}
}
return false;
}
/**
* 检查输入的长度是否符合范围
*
* @param input
* @param low
* @param high
* @param includeLow
* @param includeHigh
* @return
*/
public static boolean checkInputLength(String input, int low, int high, boolean includeLow, boolean includeHigh) {
if (StringUtils.isBlank(input)) {
return false;
}
int length = StringUtils.length(input);
if ((length > low && length < high) || (includeLow && length == low) || (includeHigh && length == high)) {
return true;
}
return false;
}
/**
* 检查输入的最大长度
*
* @param input
* @param high
* @param include
* @return
*/
public static boolean checkInputMaxLength(String input, int high, boolean include) {
int length = StringUtils.length(input);
if (length < high || (include && length == high)) {
return true;
}
return false;
}
/**
* 检查输入的最小长度
*
* @param input
* @param low
* @param include
* @return
*/
public static boolean checkInputMinLength(String input, int low, boolean include) {
int length = StringUtils.length(input);
if (length > low || (include && length == low)) {
return true;
}
return false;
}
/**
* 判断是否正确格式的UUID字符串
*
* @param uuidString
* @return
*/
public static boolean isValidUUIDString(String uuidString) {
if (StringUtils.isBlank(uuidString) || LENGTH_OF_UUID != uuidString.length()) {
return false;
}
String[] components = uuidString.split("-");
if (components.length != LENGTH_OF_UUID_SPLITTED) {
return false;
}
return true;
}
}
