`
kinkding
  • 浏览: 147916 次
  • 性别: 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文件读取、日期转换及字符串正则匹配相关操作技巧,需要的朋友可以参考下

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

    首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好。 前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了...

    正则表达式验证日期格式

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

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

    3.2 正则实现 采用3.1.2节的分类方法,就可以针对每一个规则写出对应的正则,以下暂按MM-dd格式进行实现。 先考虑与年份无关的前三条规则,年份可统一写作 (?!0000)[0-9]{4} 下面仅考虑月和日的正则  包括平年在内...

    网页中实现文本框自校验的标签

    实现文本内容的自动校验,标签属性与普通input相似,使用该标签后无需再考虑数据提交时的据校验问题。 与struts的动态表单需要大量配置校验文本规则相比,这里的工作量为0。 (1)检查合法性:可以使用默认校验器,...

    正则应用之 日期正则表达式

    1概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好。 前几天在CSDN多个版块看到需要日期正则的帖子,所以...

    JavaScript分步实现一个出生日期的正则表达式

    本文把出生日期分割成几个部分,分步地介绍了实现一个出生日期校验的完整过程。对出生日期正则表达式感兴趣的朋友参考下吧

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

    详解正则表达式实现二代身份证号码验证

    包括支持身份证号合法性验证, 支持18位身份证号,支持地址编码、出生日期、校验位验证. 基本上这样就可以了. IdCodeValid:function(code){ //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码、出生...

    数字的正则表达式写法参考书

    一个不错的数字的正则表达式验证的电子参考书。内容预览: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ ...

    如何用javascript正则表达式验证身份证号码是否合法

    在用户注册页面有些需求...排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。  2、地址码(前六位数)  表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按g

    正则表达式号码靓号类型判断代码

    靓号检测:主要可以检测连号(正连 12345、倒连65432)、AABB号、手机号码、日期号(生日号、年度号)、ABBCABB号,3位以上重复号。更多类型号码检测可以根据以下表达式改造。 ‘ 匹配6位顺增 regex.Pattern = “(?:...

    分享20个常用的正则表达

    正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码: var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; var r = fieldValue.match(reg); if(r==null)alert('...

    JavaScript正则表达式验证身份证号码是否合法(两种方法)

    第一种方法: 在用户注册页面有些需求要求的...排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。  2、地址码(前六位数)  表示编码对象常住户口所在县(市、旗、区

    jQuery 表单验证插件

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而...

    jQuery formValidator表单验证插件示例源码

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而...

    ruyi:交互式表单设计器

    支持前端校验和数据库校验,支持默认常用的规则(如数字、email、ip、手机号),支持自定义正则,支持校验框样式自定义 使用了作为下拉框实现 使用了作为日期时间的实现 使用了作为富文本框的实现 针对传统HTML中单...

    jQuery formValidator 表单校验插件 4.1.0

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而...

    JavaScript 判断日期格式是否正确的实现代码

    没有多大变动,主要是返回错误信息,以便调用函数部分可以alert出来。据说可以用正则表达式校验,下次再研究下。

Global site tag (gtag.js) - Google Analytics