/**
-
@Author:JCccc
-
@Description: 常用正则表达式校验工具类
-
@Date:
*/
public class RegExUtil {
//纯数字
public static final String REGEX_NUMBER = “1*$”;
//非0开头数字
public static final String REGEX_NUMBER_NOTZERO = “^(0|[1-9][0-9]*)$”;
//邮箱地址
public static final String REGEX_EMAIL = “^\w+([-+.]\w+)@\w+([-.]\w+)\.\w+([-.]\w+)*$”;
//域名
public static final String REGEX_DOMAIN = “[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?”;
//URL
public static final String REGEX_URL = “http(s)?😕/([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?”;
//IP
public static final String REGEX_IP_ADDR = “([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}”;
//手机号码
public static final String REGEX_PHONE_NUMBER = “((17[0-9])|(14[0-9])|(13[0-9])|(15[4,\D])|(18[0,5-9]))\d{8}$”;
//2[2,3,4,5,6,7,8,9][0-9]{9}$"手机号码这个要特别注意,根据时间推移可能会开放新号码段
//身份证
public static final String REGEX_ID_CARD = “(3\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|” +
“(4\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)”;
//账号(字母开头,允许5-16字节,允许字母数字下划线)
public static final String REGEX_ACCOUNT = “5[a-zA-Z0-9_]{4,15}$”;
//强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)
public static final String REGEX_PASSWORD = “^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$”;
//中文(只能输入中文)
public static final String REGEX_CHINESE = “[\u4e00-\u9fa5]+”;
public static boolean isNumber(String value) {
return Pattern.matches(REGEX_NUMBER, value);
}
public static boolean isNumberNotZeroBegin(String value) {
return Pattern.matches(REGEX_NUMBER_NOTZERO, value);
}
//指定多少位数字
public static boolean isPureNumber(String value, int count) {
String REGEX_PURE_NUMBER = “^\d” + “{” + count + “}$”;
return Pattern.matches(REGEX_PURE_NUMBER, value);
}
//指定至少多少位数字
public static boolean isPureNumberLeast(String value, int count) {
String REGEX_PURE_NUMBER = “^\d” + “{” + count + “,}$”;
return Pattern.matches(REGEX_PURE_NUMBER, value);
}
public static boolean isEmail(String value) {
return Pattern.matches(REGEX_EMAIL, value);
}
public static boolean isDomain(String value) {
return Pattern.matches(REGEX_DOMAIN, value);
}
public static boolean isUrl(String value) {
return Pattern.matches(REGEX_URL, value);
}
public static boolean isIpAddr(String val
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
ue) {
return Pattern.matches(REGEX_IP_ADDR, value);
}
public static boolean isPhoneNumber(String value) {
return Pattern.matches(REGEX_PHONE_NUMBER, value);
}
public static boolean isAccount(String value) {
return Pattern.matches(REGEX_ACCOUNT, value);
}
public static boolean isPassword(String value) {
return Pattern.matches(REGEX_PASSWORD, value);