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

网友投稿 468 2023-06-06


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.mPJUYfatcher(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.isDatPJUYfe(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/jhttp://avascript

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

http://tools.jb51.net/regex/create_reg

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 存储模型和共享对象详解
下一篇:Java正则验证电话,手机,邮箱,日期,金额的方法示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~