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("-", "");
    }

  • 相关阅读:
    .NET之API版本控制
    接口管理平台YApi
    .NET之WebAPI
    Hyperv安装Centos7
    nginx添加https模块
    基于centos8镜像,打包php的docker镜像
    jmeter生成HTML性能测试报告(转载)
    jmeter相关(转载)
    接口测试总结(转载)
    【解决了一个小问题】alert manager中的cluster.advertiseaddress参数是什么意思?
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/9316449.html
Copyright © 2011-2022 走看看