首页 > 开发 > Java > 正文

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

2024-07-13 10:05:01
字体:
来源:转载
供稿:网友

本文实例讲述了Java正则判断日期格式是否正确的方法。分享给大家供大家参考,具体如下:

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

DateType.java:

/** * @Title:DateType.java * @Package:com.you.dao * @Description: * @Author: 游海东 * @Version V1.2.3 */package com.you.dao;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @类名:DateType * @描述: * @Author:游海东 */public class DateType{  /**   *   * @类名:DateSelect   * @描述:   * @Author:游海东   */  public static class DateSelect  {    public boolean isDate(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);      boolean dateType = mat.matches();      return dateType;    }  }  /**   * @Title : main   * @Type : DateType   * @Description :   * @param args   */  public static void main(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 = new DateSelect();    /**     * 打印正确日期格式     */    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、运行结果

truefalsefalsefalsefalsetrue

希望本文所述对大家java程序设计有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表