JAVA 最常用实用的正则表达式校验
@Author:JCccc
@Description: 常用正则表达式校验工具类
@Date:
*/
public class RegExUtil {
//纯数字
public static final String REGEX_NUMBER = "^[0-9]*$";
//非 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}$";
//^[1][2,3,4,5,6,7,8,9][0-9]{9}$"手机号码这个要特别注意,根据时间推移可能会开放新号码段
//身份证
public static final String REGEX_ID_CARD = "(^[1-9]\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]$)|" +
"(^[1-9]\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 = "^[a-zA-Z][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 i 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 sNumberNotZeroBegin(String value) {
return Pa Java 开源项目【ali1024.coding.net/public/P7/Java/git】 ttern.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 value) {
return Pattern.matches(REGEX_IP_ADDR, value);
最后
Java 架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有 Java 核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring 源码合集+Java 架构实战电子书+2021 年最新大厂面试题。
评论