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

               

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

DateType.java:

/** * @Title:DateType.java * @Package:com.you.dao * @Description: * @Author: 游海东 * @date: 2014年3月8日 下午10:54:50 * @Version V1.2.3 */package com.you.dao;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @类名:DateType * @描述: * @Author:游海东 * @date: 2014年3月8日 下午10:54:50 */public class DateType /**  *   * @类名:DateSelect  * @描述:  * @Author:游海东  * @date: 2014年3月8日 下午11:09:37  */ 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  * @date : 2014年3月8日 下午10:54:50  * @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


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值