首页 > 其他分享 >20240307正则表达式对常见字段的校验

20240307正则表达式对常见字段的校验

时间:2024-03-07 17:45:04浏览次数:20  
标签:20240307 return String matcher Pattern 校验 常见字 compile pattern

验证固话号码

//表示以0开头,后跟 2 到 3 位数字,然后是-,最后是 7 到 8 位数字。
    public static boolean checkPhoneNumber(String phoneNumber) {
        if (StringUtils.isEmpty(phoneNumber)) {
            return false;
        }
        Pattern pattern = Pattern.compile("^\\d{2,3}\\-\\d{7,8}$");
        1、实例化Pattern 对象,调用Pattern对象的compile方法 传入正则表达式
        Matcher m = pattern.matcher(phoneNumber);
        2、定义Marcher 对象,使用pattern对象调用matcher方法 传入要验证的字段
        return m.matches();
        3、返回 matcher.matches()
    }

验证IP/域名

    public static boolean checkIPAndDomain(String domainName) {
        if (StringUtils.isEmpty(domainName)) {
            return false;
        }
        // 定义正则表达式模式
        String regex = "[a-zA-Z]";
        //
        Pattern pattern = Pattern.compile(regex);
        // 判断是否包含英文 则为域名
        Matcher matcher = pattern.matcher(domainName);
        if (matcher.find()) {
            return isValidDomain(domainName);
        }
        return isValidIP(domainName);
    }

    public static boolean isValidIP(String ip) {
        log.error("进入ip判断");
        // 定义正则表达式模式
        String regex = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(ip);
        return matcher.matches();
    }

    public static boolean isValidDomain(String domain) {
        log.info("进入域名判断");
        // 定义正则表达式模式
        String regex = "^[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(domain);
        return matcher.matches();
    }

验证微信号码

//表示微信号可以包含字母、数字和下划线,长度为 1 到 16 个字符,后面可以跟任意数量的字母、数字或下划线
   public static boolean checkWeChatNumber(String WeChatNumber) {
       if (StringUtils.isEmpty(WeChatNumber)) {
           return false;
       }
       Pattern pattern = Pattern.compile("[a-zA-Z0-9_]{5,19}\\w+");
       Matcher m = pattern.matcher(WeChatNumber);
       return m.matches();
   }

验证银行卡

//表示银行卡号码应该是 13 到 19 位数字。
   public static boolean checkBankNumber(String BankNumber) {
       if (StringUtils.isEmpty(BankNumber)) {
           return false;
       }
       Pattern pattern = Pattern.compile("^\\d{13,19}$");
       Matcher m = pattern.matcher(BankNumber);
       return m.matches();
   }

验证QQ号码

    //表示QQ号码以 1 到 9 开头,后面跟着 4 到 9 个数字
    public static boolean checkQQNumber(String QQNumber) {
        if (StringUtils.isEmpty(QQNumber)) {
            return false;
        }
        Pattern pattern = Pattern.compile("^[1-9][0-9]{4,10}$");
        Matcher m = pattern.matcher(QQNumber);
        return m.matches();
    }

标签:20240307,return,String,matcher,Pattern,校验,常见字,compile,pattern
From: https://www.cnblogs.com/czh4869/p/18059422

相关文章

  • Spring-@Validated-参数校验
    1.什么是javax.validationJSR303是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面(面向注解编程的时代),就可以在需要校验的时候进行校验了,在SpringBoot中已经包含在starter-web中,再其他项目中可以引用依赖,并自行......
  • 文件MD5校验码的安全性及重要性
    文件MD5(MessageDigestAlgorithm5)是一种常用的哈希算法,用于验证文件的完整性和安全性。本文将深入介绍文件MD5的原理、应用场景以及如何计算和验证MD5值,帮助读者更好地理解和应用这一重要工具。一、文件MD5的原理MD5算法通过对文件进行哈希运算,生成一个128位的唯一标识,......
  • 浅谈WPF之Binding时数据校验和类型转换
    在WPF开发中,Binding实现了数据在Source和Target之间的传递和流通,就像现实生活中的一条条道路,建立起了城镇与城镇之间的衔接,而数据校验和类型转换,就像高速公路之间的收费站和安检站。那在WPF开发中,如何实现数据的校验和类型转换呢?本文以一个简单的小例子,简述在WPF开发中,实现数据校......
  • springboot3+vue3(三)接口参数校验Spring Validation框架
    1、引入Validation依赖<!--参数校验依赖validation--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>va......
  • 实现Java校验是否是金额的方法
    概述在Java中,校验是否是金额的方法通常需要考虑金额的格式和大小。下面我将介绍给你一个简单的实现方法,帮助你判断输入的字符串是否符合金额的格式。 流程首先,我们可以分为以下几个步骤来实现校验是否是金额的方法:判断字符串是否为null或空字符串判断字符串是否为合法的金额格......
  • 请求参数的校验(2024-3-1)
    参数校验框架:springvalidation(使用预定义的注解完成参数校验)引入SpringValidation起步依赖~~~xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></depe......
  • FastAPI系列:路径参数额外校验Path
    路径参数额外校验PathfromfastapiimportPathapp=FastAPI()@app.get('/items/{item_id}')asyncdefread_items(item_id:str=Path(default=None,max_length=3,min_length=1,title='theidofitemtoget')):"""def......
  • 统一异常处理@ControllerAdvice及参数校验@Validated
    一、异常处理有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行trycatch处理。直接throwsException直接throwsException,抛的异常太过宽泛,最好能抛出准确的异常,比如throwsIOException之类。UsergetUserById(Integerid)throwsIOException,BusinessE......
  • 数据校验_TEST
    importpandasaspdimportpymysql#数据库连接信息source_db_config={'host':'source_db_host','user':'source_db_user','password':'source_db_password','database':......
  • 关于磁盘和镜像的哈希值校验
    在取证做题联系的时候经常遇到这样的题目:请计算源盘的hash值,这时我们需要先对镜像进行挂载,像ftkimager等等软件,再对挂载后的磁盘进行hash值的计算给出两个计算工具1、火眼放入检材后相当于自动挂载2、winhex(注意此时如果需要计算本地磁盘的hash值,需要以管理员的身份运行winhe......