java中的日期验证正则表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

@Test public void Testregexp(){

//Pattern p =

pile("^((\\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][0 1345789]))[\\/\\/\\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 p =

pile("^((\\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 =

pile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[0 2]))[\\-\\/\\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-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

相关文档
最新文档