Java基于正则实现的日期校验功能示例

发布时间 - 2026-01-10 23:22:41    点击率:

本文实例讲述了Java基于正则实现的日期校验功能。分享给大家供大家参考,具体如下:

private void checkDate() throws IOException {
    // 4种分隔符
    String sep = "[-\\./_]";
    // 年份
    String strPattern = "^(19[4-9]\\d|20\\d{2})" + sep;
    strPattern += "(";
    // 月(1,3,5,7,8,10,12)
    strPattern += "((0?[13578]|1[02])" + sep + "(0?[1-9]|[12][0-9]|3[01]))|";
    // 月(4,6,9,11)
    strPattern += "((0?[469]|11)" + sep + "(0?[1-9]|[12][0-9]|30))|";
    // 月(2)
    strPattern += "((2)" + sep + "(0?[1-9]|[12]\\d))";
    strPattern += ")$";
    Pattern p = Pattern.compile(strPattern);
    Matcher m = p.matcher("");
    int count = 0;
    String fileName = ExcelGene.class.getResource("date.txt").getFile();
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    String line = null;
    while ((line = br.readLine()) != null) {
      count++;
      if (line.trim().length() > 0) {
        m.reset(line);
        if (!m.find()) {
          System.out.println(count + " " + line);
        } else {
          String year = m.group(1);
          String month = m.group(4);
          month = month == null ? m.group(7) : month;
          month = month == null ? m.group(10) : month;
          String date = m.group(5);
          date = date == null ? m.group(8) : date;
          date = date == null ? m.group(11) : date;
          System.out.println(year + "年" + month + "月" + date + "日");
        }
      }
    }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家java程序设计有所帮助。


# Java  # 正则  # 日期校验  # javax.validation自定义日期范围校验注解操作  # java正则表达式校验日期格式实例代码  # Java日期工具类时间校验实现  # 正则表达式  # 给大家  # 所述  # 程序设计  # 再为  # 测试工具  # 分隔符  # 讲述了  # Matcher  # compile  # int 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel集合Collection怎么用_Laravel集合常用函数详解  如何用AWS免费套餐快速搭建高效网站?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  简历没回改:利用AI润色让你的文字更专业  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  利用python获取某年中每个月的第一天和最后一天  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  ,在苏州找工作,上哪个网站比较好?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel如何实现数据库事务?(DB Facade示例)  三星、SK海力士获美批准:可向中国出口芯片制造设备  如何正确选择百度移动适配建站域名?  北京专业网站制作设计师招聘,北京白云观官方网站?  javascript基本数据类型及类型检测常用方法小结  香港服务器WordPress建站指南:SEO优化与高效部署策略  清除minerd进程的简单方法  Laravel如何使用Blade模板引擎?(完整语法和示例)  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何在云虚拟主机上快速搭建个人网站?  如何快速搭建高效可靠的建站解决方案?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  非常酷的网站设计制作软件,酷培ai教育官方网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何用花生壳三步快速搭建专属网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  如何快速搭建个人网站并优化SEO?  昵图网官网入口 昵图网素材平台官方入口  Laravel怎么实现验证码(Captcha)功能  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Java解压缩zip - 解压缩多个文件或文件夹实例  如何用PHP工具快速搭建高效网站?  如何获取免费开源的自助建站系统源码?  EditPlus中的正则表达式 实战(2)  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  html如何与html链接_实现多个HTML页面互相链接【互相】  Bootstrap整体框架之JavaScript插件架构