Java正則判斷日期格式是否正確的方法示例
更新時間:2017年03月02日 11:15:30 作者:翱翔天地
這篇文章主要介紹了Java正則判斷日期格式是否正確的方法,結合實例形式分析了Java針對日期字符串正則判斷的相關操作技巧,需要的朋友可以參考下
本文實例講述了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、運行結果
true false false false false true
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設計有所幫助。
相關文章
Java基礎知識之ByteArrayOutputStream流的使用
這篇文章主要介紹了Java基礎知識之ByteArrayOutputStream流的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring Boot中的WebSocketMessageBrokerConfigurer接口使用
在SpringBoot中,我們可以使用 WebSocketMessageBrokerConfigurer接口來配置WebSocket消息代理,以實現(xiàn)實時通信,具有一定的參考價值,感興趣的可以了解一下2023-11-11
SpringBoot中配置多數(shù)據(jù)源的方法詳解
這篇文章主要為大家詳細介紹了SpringBoot中配置多數(shù)據(jù)源的方法的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-02-02

