java中Regex驗證日期

來源:互聯網
上載者:User

 /**    
     * Regex驗證日期格式     包括潤二月
     * @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("格式錯誤");       
            }       
 
    }                   

/**

*Regex驗證日期格式     包括潤二月

**/
// 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());
//  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.