zoukankan      html  css  js  c++  java
  • 正则表达式校验yyyymmdd

    正则表达式为

    ([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-8])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-9])))))

    处理代码如下:

    private static final Pattern date_pattern = Pattern.compile("([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-8])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-9])))))");

    //假如是1988年5月8日这种,补足8位数字,变成1988年05月08日

    String cur_mm = null;
    String cur_dd = null;
    if(cur_value.contains("年")){
    cur_mm = cur_value.substring(cur_value.indexOf("年")+1,cur_value.indexOf("月"));
    if(cur_mm!=null&&cur_mm.trim().length()==1){
    cur_value = cur_value.substring(0,cur_value.indexOf("年")+1)+"0"+cur_value.substring(cur_value.indexOf("年")+1,cur_value.length());
    }
    cur_dd = cur_value.substring(cur_value.indexOf("月")+1,cur_value.indexOf("日"));
    if(cur_dd!=null&&cur_dd.trim().length()==1){
    cur_value = cur_value.substring(0,cur_value.indexOf("月")+1)+"0"+cur_value.substring(cur_value.indexOf("月")+1,cur_value.length());
    }

    }
    Matcher date_match = date_pattern.matcher(cur_value.replace("年", "").replace("月", "").replace("日", "").replace("-", ""));
    if (date_match.find()) {
    date_result = date_match.group(0).trim();
    return date_result.replace(",", "").trim();
    }

    ////date_pattern针对XXXX0410,XXXX0610,XXXX0910,XXXX1110这4个日期无效,需做特殊处理
    boolean mmFlag = cur_value.indexOf("04")!=-1||cur_value.indexOf("06")!=-1||cur_value.indexOf("09")!=-1||cur_value.indexOf("11")!=-1;
    if(mmFlag && cur_value.indexOf("10")!=-1){
    return cur_value.replace("年", "").replace("月", "").replace("日", "").replace("-", "");
    }

  • 相关阅读:
    java 反射 报错:Attempt to get java.lang.Integer field "..." with illegal data type conversion to int
    经常报错:Communications link failure
    解析Excel
    spring+atomikos+mybatis 多数据源事务(动态切换)
    mysql 存储过程
    Ace Admin 学习笔记
    spring mvc 表单提交 乱码
    spring 事务
    基于注解的Spring多数据源配置和使用(非事务)
    javaEE版本的eclipse中导入工程,发现server里面找不到工程,根本发布不了也不能运行
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/9316449.html
Copyright © 2011-2022 走看看