JAVA 最常用实用的正则表达式校验,java基础面试重点

/**

  • @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);


  1. 0-9 ↩︎

  2. 1 ↩︎

  3. 1-9 ↩︎

  4. 1-9 ↩︎

  5. a-zA-Z ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值