自己想的一个java日期验证,不用正则表达式
可以验证多种format格式的日期
这个在我博客里面的验证类中有。有需要的朋友可以去下载。
方法:
private static final String DATE_DEFAULT_FORMAT = "yyyyMMdd";
/**
* string is date
*
* @author xieyan 2012/10/22
* @param str checked string
* @param formatStr format
* @return true:is date | false:is not date
*/
public static boolean isDate(String str, String formatStr) {
if (isNull(str))
return false;
if (isNullOrEmpty(formatStr))
formatStr = DATE_DEFAULT_FORMAT;
if (str.length() != formatStr.length())
return false;
SimpleDateFormat format = new SimpleDateFormat(formatStr);
try {
return str.equals(format.format(format.parse(str))); // 这里用equals主要是为了防止像20121032这样数据会转为20121101
} catch (ParseException e) {
return false;
}
}
junit方法
/**
* test StringUtilities.isDate
*/
public void testIsDate() {
// string is 20121022
assertTrue(StringUtilities.isDate("20121022", ""));
// string is 20121022
assertTrue(StringUtilities.isDate("20121022", null));
// string is 20121022, format is yyyyMMdd
assertTrue(StringUtilities.isDate("20121022", "yyyyMMdd"));
// string is 2012/10/22, format is yyyy/MM/dd
assertTrue(StringUtilities.isDate("2012/10/22", "yyyy/MM/dd"));
// string is 2012-10-22, format is yyyy-MM-dd
assertTrue(StringUtilities.isDate("2012-10-22", "yyyy-MM-dd"));
// string is 20121022 11:53:00.123, format is yyyyMMdd hh:mm:ss.SSS
assertTrue(StringUtilities.isDate("20121022 11:53:00.123", "yyyyMMdd hh:mm:ss.SSS"));
// string is 2012122, format is yyyyMdd
assertFalse(StringUtilities.isDate("2012132", "yyyyMdd"));
// string is 2012/10/22, format is yyyy/MM/dd
assertFalse(StringUtilities.isDate("20121032", "yyyy-MM-dd"));
// string is 2012/10/22, format is yyyy/MM/dd
assertFalse(StringUtilities.isDate("20121032", "yyyyMMdd"));
// string is 2012122, format is yyyyMMdd
assertFalse(StringUtilities.isDate("2012132", "yyyyMMdd"));
// string is ""
assertFalse(StringUtilities.isDate("", "yyyyMMdd"));
// string is "null"
assertFalse(StringUtilities.isDate("null", "yyyyMMdd"));
// string is null
assertFalse(StringUtilities.isDate(null, "yyyyMMdd"));
}
有异议的朋友可以短信我。
分享到:
相关推荐
* @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...
java正则验证电话,手机,邮箱,日期,金额,很实用
以上实现的是yyyy-MM-dd格式的日期验证,考虑到连字符的不同,以及月和日可能为M和d,即yyyy-M-d的格式,可以对以上正则进行扩展 ^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])([-/.]?)(?:0?[1-9]|1[0-9]|2[0-...
Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符]
验证邮箱, 验证IP地址,验证网址Url,验证电话号码,验证输入邮政编号,验证输入身份证号,验证日期时间
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
主要介绍了java正则表达式验证工具类,可以校验电话号码,身份证号码,日期格式,URL,email等等,需要的小伙伴参考下吧。
6、java正则表达式入门文档 7、Java正则表达式使用详解 8、常用正则表达式集锦 9、正则表达式高级学习技巧 10、正则表达式使用 11、正则表达式之道 12、正则表达式总结 13、30分钟入门教程 14、日期校验.doc
通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在...
如果想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 "\" . 2.字符类 将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 ...
通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在URL、...
1. 使用正则表达式验证邮箱格式:演示如何使用正则表达式验证邮箱地址的格式是否有效。 2. 读取和写入文本文件:展示了如何使用文件读取器和写入器来读取和写入文本文件的内容。 3. 使用日期和时间类:演示了Java 8...
主要介绍了Java正则验证电话,手机,邮箱,日期,金额的方法,结合具体实例形式分析了Java针对电话,手机,邮箱,日期,金额的正则判定操作技巧,需要的朋友可以参考下
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代...
很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息: 1、号码的结构 公民身份...
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 ...
日历:使用swing和awt实现一个图形化的日历可以查询星期、日期和年份信息(CalenderTrain.java);标准计算器(Callulator.java);更改组建外观,对日历设置几个显示外观(lookandfeel.java);自定义对话框Dialog...
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 ...
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代...
例如,可以实现方法来比较两个日期的大小,检查一个日期是否在另一个日期之前、之后或相等。这样,开发人员可以方便地进行日期的比较和判断,并根据需要执行相应的逻辑。 日期格式验证:日期工具类可以提供方法来...