@Test public void Testregexp(){
Pattern p = Pattern.compile("^((\\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][12" +"35679])|([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]))))))");
String s = "2003-02-20";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004/02/29";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004/04/31";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004/04/30";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004/04/30";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004/09/30";
System.out.println(s + " " + p.matcher(s).matches());
}
以上运行结果:
2003-02-20 true
2004/02/29 false
2004/04/31 false
2004/04/30 false
2004/04/30 false
2004/09/30 false
@Test public void Testexp(){
Pattern p = Pattern.compile("^((\\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]))))))(\\s(((0?[0-9])|([1][0-9])|([2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
String s = "2003-02-29 23:59:59";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004-02-29 23:59:59";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004-04-31 0:59:59";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004-04-30 01:11:0";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004-04-30 0:0:0";
System.out.println(s + " " + p.matcher(s).matches());
s = "2004-04-30 00:00:59";
System.out.println(s + " " + p.matcher(s).matches());
}
以上运行结果:
2003-02-29 23:59:59 false
2004-02-29 23:59:59 true
2004-04-31 0:59:59 false
2004-04-30 01:11:0 true
2004-04-30 0:0:0 true
2004-04-30 00:00:59 true
分享到:
相关推荐
日期正则表达式(很实用) 日期正则表达式(很实用)日期正则表达式(很实用)日期正则表达式(很实用)
* @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...
dd yyyy(yy) 也可以日期提前 dd-MM(MMM)-yyyy(yy) dd MM(MMM) yyyy(yy) 位置随便你改变,中间的连接符平常用的是'-'和' ' 想显示时间就显示时间 <br>使用方法: <br>方法GenerateDateTimeReg...
正则表达式日期校验 正则表达式日期校验 正则表达式日期校验
"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","yyyy/MM/dd HH:mm:ss" "yyyy_MM","yyyy_MM_dd",...
日期正则一般是对格式有要求,且数据不是直接由用户输入时使用。因应用场景的不同,写出的正则也不同,复杂程度也自然不同。正则的书写需要根据具体情况具体分析,一个基本原则就是:只写合适的,不写复杂的。 对于...
适用地 时间格式: 日期部分:2007-1-11 2007/11/1 2007 1 11 07-11-1 07/1/11 07 11 1 时间部分:5:5:5 05:05:05 <br>还有我个人使用的时候为了特别需要而根改的一些时间验证的正则表达式。
这个一个关于日期的正则表达式文档,希望各位在写时间的js验证时能够用的到!
一个正则表达式验证格式的方法 你一个可以调用的demo valid(str,tostr) str:字符串 tostr:格式 yy-mm-dd 支持.,/,-三种格式。
日期正则表达式,验证日期的格式,及是否为闰年。
日期时间的正则表达式
可以验证 ','、'-'、'/'不同格式的日期 还可以加上 时间 2010-02-2 12:02:2 进行有效验证 使用正则表达式
JavaScript正则表达式验证yyyy-mm-dd格式的日期
比较全面的验证日期的正则表达式收藏,对您一定有用。
一个日期验证的正则表达式,c#版一个日期验证的正则表达式,c#版
易语言正则格式化时间源码,正则格式化时间,时间格式化
kettle 根据系统时间加正则表达式动态匹配获取多个文本文件
强悍的日期正则表达式 匹配年月日,匹配年月日加时间,匹配从某一年开始。