package com.java110.utils.util;
|
|
/**
|
* @ClassName Vadator
|
* @Description TODO
|
* @Author wuxw
|
* @Date 2020/2/10 11:00
|
* @Version 1.0
|
* add by wuxw 2020/2/10
|
**/
|
|
import com.java110.utils.cache.MappingCache;
|
|
import java.util.regex.Pattern;
|
|
/**
|
* @program:
|
* @description: 校验工具类
|
* @author: xujingyang
|
* @create: 2019-01-05 16:21
|
**/
|
public class ValidatorUtil {
|
/**
|
* 正则表达式:验证用户名
|
*/
|
public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$";
|
|
/**
|
* 正则表达式:验证密码
|
*/
|
public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,20}$";
|
|
/**
|
* 正则表达式:验证手机号
|
*/
|
public static final String REGEX_MOBILE = "^(1[0-9])\\d{9}$";
|
|
/**
|
* 正则表达式:验证邮箱
|
*/
|
public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
|
|
/**
|
* 正则表达式:验证汉字
|
*/
|
public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";
|
|
/**
|
* 正则表达式:验证身份证
|
*/
|
public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";
|
|
/**
|
* 正则表达式:验证URL
|
*/
|
public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
|
|
/**
|
* 正则表达式:验证IP地址
|
*/
|
public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
|
|
/**
|
* 校验用户名
|
*
|
* @param username
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isUsername(String username) {
|
if (StringUtil.isEmpty(username)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_USERNAME, username);
|
}
|
|
/**
|
* 校验密码
|
*
|
* @param password
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isPassword(String password) {
|
if (StringUtil.isEmpty(password)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_PASSWORD, password);
|
}
|
|
/**
|
* 校验手机号
|
*
|
* @param mobile
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isMobile(String mobile) {
|
if (StringUtil.isEmpty(mobile)) {
|
return false;
|
}
|
String telValidate = MappingCache.getValue("SYSTEM_SWITCH","TEL_VALIDATE");
|
if("OFF".equals(telValidate)){
|
return true;
|
}
|
return Pattern.matches(REGEX_MOBILE, mobile);
|
}
|
|
/**
|
* 校验邮箱
|
*
|
* @param email
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isEmail(String email) {
|
if (StringUtil.isEmpty(email)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_EMAIL, email);
|
}
|
|
/**
|
* 校验汉字
|
*
|
* @param chinese
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isChinese(String chinese) {
|
if (StringUtil.isEmpty(chinese)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_CHINESE, chinese);
|
}
|
|
/**
|
* 校验身份证
|
*
|
* @param idCard
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isIDCard(String idCard) {
|
if (StringUtil.isEmpty(idCard)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_ID_CARD, idCard);
|
}
|
|
/**
|
* 校验URL
|
*
|
* @param url
|
* @return 校验通过返回true,否则返回false
|
*/
|
public static boolean isUrl(String url) {
|
if (StringUtil.isEmpty(url)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_URL, url);
|
}
|
|
/**
|
* 校验IP地址
|
*
|
* @param ipAddr
|
* @return
|
*/
|
public static boolean isIPAddr(String ipAddr) {
|
if (StringUtil.isEmpty(ipAddr)) {
|
return false;
|
}
|
return Pattern.matches(REGEX_IP_ADDR, ipAddr);
|
}
|
|
}
|