写点什么

JAVA 最常用实用的正则表达式校验

  • 2022 年 4 月 15 日
  • 本文字数:1420 字

    阅读完需:约 5 分钟

  • @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 年最新大厂面试题。



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
JAVA 最常用实用的正则表达式校验_Java_爱好编程进阶_InfoQ写作平台