本文实例讲述了Java正则判断日期格式是否正确的方法。分享给大家供大家参考,具体如下:
1、Java中用正则表达式判断日期格式是否正确
DateType.java:
package com.you.dao;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DateType
{
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;
}
}
public static void main(String[] args)
{
String date1 = "2014-01-03";
String date2 = "2014-02-29";
String date3 = "2014-13-03";
String date4 = "2014-06-31";
String date5 = "2014-01-32";
String date6 = "0014-01-03";
DateSelect date = new DateSelect();
System.out.println(date.isDate(date1));
System.out.println(date.isDate(date2));
System.out.println(date.isDate(date3));
System.out.println(date.isDate(date4));
System.out.println(date.isDate(date5));
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程序设计有所帮助。



