java中正则表达式验证日期

 /**    
     * 正则表达式验证日期格式     包括润二月
     * @param args    
     */    
public static void main(String[] args)       
    {       
            String checkValue = "2000-03-29 23:59:59";    
            //带时间
            String eL = "^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$";       
             //只是日期      
//            String eL= "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";       
            Pattern p = Pattern.compile(eL);        
            Matcher m = p.matcher(checkValue);        
            boolean b = m.matches();       
            System.out.println(b);
            if(b)       
            {       
                    System.out.println("格式正确");       
            }       
            else    
            {       
                    System.out.println("格式错误");       
            }       
 
    }                   

/**

*正则表达式验证日期格式     包括润二月

**/
// public static void main(String[] args) {
//  Pattern p = Pattern
//      .compile("^((\\d{2}(([02468][048])|([13579][26]))[\\/\\/\\s]?((((0?" +
//     "[13578])|(1[02]))[\\/\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))" +
//     "|(((0?[469])|(11))[\\/\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|" +
//     "(0?2[\\/\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][12" +
//     "35679])|([13579][01345789]))[\\/\\/\\s]?((((0?[13578])|(1[02]))" +
//     "[\\/\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))" +
//     "[\\/\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\/\\/\\s]?((0?[" +
//     "1-9])|(1[0-9])|(2[0-8]))))))");
//     //(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$ 时间部分00:00:00
//  String s = "2003/02/29";
//  System.out.println(s + " " + p.matcher(s).matches());
//  s = "2004/02/29";
//  System.out.println(s + " " + p.matcher(s).matches());
//  s = "2004/04/31";
//  System.out.println(s + " " + p.matcher(s).matches());
//  s = "2004/04/30";
//  System.out.println(s + " " + p.matcher(s).matches());
//  s = "2004/04/30";
//  System.out.println(s + " " + p.matcher(s).matches());
//  s = "2004/09/30";
//  System.out.println(s + " " + p.matcher(s).matches());
//  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值