Java中用正则表达式判断日期格式是否正确
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
Java中用正则表达式判断日期格式是否正确的更多相关文章
- 利用JavaScript与正则表达式判断输入账号格式是否正确
在学习了HTML DOM对象后,做几个小练习来巩固一下所学内容. 正则表达式: 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE ...
- 在Java中用正则表达式判断一个字符串是否是数字的方法
package chengyujia; import java.util.regex.Pattern; public class NumberUtil { /** * 判断一个字符串是否是数字. * ...
- java中用正则表达式判断中文字符串中是否含有英文或者数字
public static boolean includingNUM(String str)throws Exception{ Pattern p = Pattern.compile(" ...
- JAVA中判断年月日格式是否正确(支持判断闰年的2月份)
一.先说一下年月日(yyyy-MM-dd)正则表达式: 1.年月日正则表达式:^((19|20)[0-9]{2})-((0?2-((0?[1-9])|([1-2][0-9])))|(0?(1|3|5| ...
- 关于Java中文乱码与日期格式
关于Java中文乱码与日期格式 Java中文乱码的问题其实很普遍了,首先,一般不会在Windows平台下面出现,同时,一般在Tomcat应用服务器下也都正常,但是到了WebSphere,Weblogi ...
- JS判断上传图片格式是否正确
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Linux C判断日期格式是否合法
Title:Linux C判断日期格式是否合法 --2013-10-11 11:54 #include <string.h> // strlen() , strncpy() #includ ...
- php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)
/** * 表单校验函数库 */ /** * 判断email格式是否正确 * @param $email */ function is_email($email) { return strlen($e ...
- Java中用正则表达式找出数字
Java中用正则表达式找出数字 1.题目 String str = "fjd789klsd908434jk#$$%%^38488545",从中找出78990843438488 ...
随机推荐
- VSFTPD 源码安装升级
/usr/local/sbin/vsd -v cp /usr/local/sbin/vsd /usr/sbin/vsd 制作启动脚本 vim /etc/xinetd.d/vsd disable = y ...
- 单元测试系列:Mock工具之Mockito实战
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...
- WPF 自定义图表(柱状图,曲线图)
1.功能 实现图表的数据绑定,动态绑定,属性更改绑定. 本文提供了一种思路. 2.原理 使用canvas绘制,使用反射来确定属性的绑定. 3.效果: 柱状图效果: 曲线图效果: 感谢阅读. 源码地址: ...
- iOS-电子书开发 笔记
前言 刚接手电子书项目时,和安卓开发者pt Cai老师[aipiti Cai,一个我很敬佩很资深的开发工程师,设计领域:c++.Java.安卓.QT等]共同商议了一下,因为项目要做要同步,移动端[手机 ...
- spring boot + vue + element-ui全栈开发入门——开篇
最近经常看到很多java程序员朋友还在使用Spring 3.x,Spring MVC(struts),JSP.jQuery等这样传统技术.其实,我并不认为这些传统技术不好,而我想表达的是,技术的新旧程 ...
- 利用QuickCHM制作chm
CHM是一种常见的帮助文件格式,也是电子书的一种格式. 下面是使用QuickCHM制作chm的步骤: 1.先将所有的word文档存储为mht格式,点击,文件--另存为网页,如下 2.确保所有的word ...
- Lua利用cjson读写json
前言 本文结合本人的实际使用经验和代码示例,介绍如何在Lua中对json进行encode和decode.我这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高 ...
- Mybatis 动态使用update语句
update pf_product_audio_t <trim prefix="set" suffixOverrides=","> <if t ...
- Java经典编程题50道之十三
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? public class Example13 { public static void main(St ...
- JAVAEE——BOS物流项目07:WebService入门、apache CXF入门、基于CXF发布CRM服务
1 学习计划 1.WebService入门 n 什么是WebService n 调用网络上的WebService服务 n SOAP和WSDL概念 n 基于JDK1.7发布一个简单的WebService ...