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

这篇文章主要介绍了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.html.cn/regex/javascript

正则表达式在线生成工具:

http://tools.html.cn/regex/create_reg

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...