一聚教程网:一个值得你收藏的教程网站

热门教程

Java正则判断日期格式是否正确的方法示例

时间:2022-06-29 01:33:49 编辑:袖梨 来源:一聚教程网

1、Java中用正则表达式判断日期格式是否正确

DateType.java:

 

 代码如下复制代码

/**

 * @Title:DateType.java

 * @Package:com.you.dao

 * @Description:

 * @Author: 游海东

 * @Version V1.2.3

 */

packagecom.you.dao;

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

/**

 * @类名:DateType

 * @描述:

 * @Author:游海东

 */

publicclassDateType

{

  /**

   *

   * @类名:DateSelect

   * @描述:

   * @Author:游海东

   */

  publicstaticclassDateSelect

  {

    publicbooleanisDate(String date)

    {

      /**

       * 判断日期格式和范围

       */

      String  rexp  ="^((\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 pat = Pattern.compile(rexp);

      Matcher mat = pat.matcher(date);

      booleandateType = mat.matches();

      returndateType;

    }

  }

  /**

   * @Title : main

   * @Type : DateType

   * @Description :

   * @param args

   */

  publicstaticvoidmain(String[] args)

  {

    /**

     * 日期格式正确

     */

    String date1 ="2014-01-03";

    /**

     * 日期范围不正确---平年二月没有29号

     */

    String date2 ="2014-02-29";

    /**

     * 日期月份范围不正确---月份没有13月

     */

    String date3 ="2014-13-03";

    /**

     * 日期范围不正确---六月没有31号

     */

    String date4 ="2014-06-31";

    /**

     * 日期范围不正确 ----1月超过31天

     */

    String date5 ="2014-01-32";

    /**

     * 这个测试年份

     */

    String date6 ="0014-01-03";

    DateSelect date =newDateSelect();

    /**

     * 打印正确日期格式

     */

    System.out.println(date.isDate(date1));

    /**

     * 打印date1

     */

    System.out.println(date.isDate(date2));

    /**

     * 打印date3

     */

    System.out.println(date.isDate(date3));

    /**

     * 打印date4

     */

    System.out.println(date.isDate(date4));

    /**

     * 打印date5

     */

    System.out.println(date.isDate(date5));

    /**

     * 打印date6

     */

    System.out.println(date.isDate(date6));

  }

}

 

2、运行结果

 

 代码如下复制代码

true

false

false

false

false

true

 

热门栏目