当前位置:   article > 正文

Java正则表达式日期格式验证方法

java完整代码csdn定义一个方法,用正则表达式验证日期格式是否正确

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、运行结果

true

false

false

false

false

true

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/119336?site
推荐阅读
相关标签
  

闽ICP备14008679号