`
kinkding
  • 浏览: 150172 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

正则实现日期校验

    博客分类:
  • 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 + "日");
                }
            }
        }
    }

 

分享到:
评论

相关推荐

    正则表达式(日期校验)

    ### 正则表达式在日期校验中的应用 #### 一、引言 在软件开发过程中,日期格式的校验是非常常见的需求之一。利用正则表达式进行日期格式的校验,不仅可以提高代码的可读性和简洁性,还能有效地确保输入数据的准确...

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

    Java日期校验是通过正则表达式来实现的,正则表达式是一种强大的文本处理工具,能够通过设定的模式来匹配字符串。在Java中,我们可以利用java.util.regex包中的Pattern和Matcher类来对日期字符串进行正则校验。日期...

    validate校验正则表达式验证

    validate库通常提供了一系列预定义的验证规则,其中包括对字符串、数字、日期等类型的校验。在某些情况下,预定义的规则可能无法满足特定的需求,这时我们可以借助正则表达式来实现更复杂、灵活的验证逻辑。 正则...

    日期正则表达式

    在实现日期正则表达式时,需要考虑到日期分类的方法和分支结构的影响。可以采用分类方法将日期分类,然后使用分支结构来实现正则。例如,可以使用 `(exp1|exp2|exp3)` 这种分支结构来实现日期分类后的实现。 在日期...

    日期验证的正则表达式很好用

    本文将深入探讨一种用于验证“YYYY-MM-DD”格式日期的正则表达式,并通过C#语言的具体实现来解析其背后的逻辑和技术要点。 #### 一、正则表达式概述 正则表达式是一种强大的文本匹配工具,它允许开发者定义复杂的...

    带有正则表达式校验的TextBox

    在本项目中,“带有正则表达式校验的TextBox”是一个自定义控件,它是对标准TextBox的扩展,增加了对输入数据进行正则表达式验证的功能。这个控件使得在Windows Forms或ASP.NET应用中,可以更方便地确保用户输入的...

    用正则表达式检验日期,身份证,金额,邮箱,格式化日期,转换金额格式

    根据给定文件的信息,本文将详细介绍如何利用正则表达式对日期、身份证号码、金额以及电子邮件地址进行有效性检查,并简要介绍如何将金额的小写数值转换为大写形式。 ### 1. 检验日期格式 #### 1.1 日期格式验证的...

    C#正则表达式判断输入日期格式是否正确

    这是实现日期格式校验的关键方法。 5. 日期格式的校验范围: 在提供的代码中,日期格式的校验范围包括了年、月、日的正确性,以及不同月份天数的正确性(包括考虑闰年)。通过正则表达式,我们可以非常精确地定义...

    日期校验相关代码

    本篇将深入探讨如何使用正则表达式和JavaScript来实现日期校验。 首先,我们来看第一个函数 `isdate`,它主要用于校验日期格式是否正确。这个函数通过正则表达式 `/^(\d{1,4})(-\/)(\d{1,2})\2(\d{1,2})$/` 来匹配...

    C# 最全的日期正则表达式,没有之一

    - 虽然通过这种方式裁剪可以得到符合要求的日期正则,但并不建议在所有场景下都使用正则表达式进行日期校验。正则表达式的优势在于其灵活性,应根据具体需求来编写最合适的正则表达式。 - 掌握正则表达式的语法规则...

    正则表达式验证日期格式

    直接用IE等浏览器打开就行了,别的不多说,大家自己明白!

    正则表达式时间验证

    本篇将详细介绍一个用于验证日期时间格式的正则表达式,并解释其工作原理及应用场景。 #### 核心知识点 ##### 1. 正则表达式概述 正则表达式(Regular Expression)是一种强大的文本模式匹配工具,广泛应用于字符...

    日期,日期时间类型数据格式校验

    本文将深入探讨“日期,日期时间类型数据格式校验”的相关知识点。 首先,日期和日期时间数据格式的多样性是导致校验复杂性的主要原因。常见的日期格式有“年-月-日”(如2022-01-01)、“月/日/年”(如01/01/2022...

    javascript数据校验正则表达式

    JavaScript是一种广泛用于网页和网络应用的编程语言,其在处理用户输入时,数据校验扮演着至关重要的角色。...在实际项目中,我们需要根据业务需求灵活运用正则表达式,以实现高效、准确的数据校验。

    JS的正则表达式进行验证

    虽然这段代码未直接使用正则表达式进行日期格式验证,但结合正则表达式的应用,我们可以创建更全面的日期验证逻辑。 一个简单的日期格式验证正则表达式可以是:`/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|...

    正则表达式 JS 身份证验证

    接下来我们通过一个具体的函数来实现身份证号码的验证逻辑,该函数不仅包含了上述正则表达式的使用,还增加了对出生日期的验证以及18位身份证号码校验码的计算。 ```javascript function isIdCardNo(num) { num = ...

Global site tag (gtag.js) - Google Analytics