资源描述:
《js正则表达式验证日期格式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java中正则表达式验证日期格式publicclassDateCheck{/***正则表达式验证日期格式*@paramargs*/publicstaticvoidmain(String[]args){StringcheckValue="2007-02-29";//StringeL="^((((1[6-9]
2、[2-9]\d)\d{2})-(0?[13578]
3、1[02])-(0?[1-9]
4、[12]\d
5、3[01]))
6、(((1[6-9]
7、[2-9]\d)\d{2})-(0?[13456789]
8、1[012])-(0?[1-9]
9、[12]\d
10、
11、30))
12、(((1[6-9]
13、[2-9]\d)\d{2})-0?2-(0?[1-9]
14、1\d
15、2[0-8]))
16、(((1[6-9]
17、[2-9]\d)(0[48]
18、[2468][048]
19、[13579][26])
20、((16
21、[2468][048]
22、[3579][26])00))-0?2-29-))(20
23、21
24、22
25、23
26、[0-1]?\d):[0-5]?\d:[0-5]?\d$";StringeL="^((]))))))";Patternp=Pattern.compile(eL);Matcherm=p.matcher(checkValue);
27、booleanb=m.matches();if(b){System.out.println("格式正确");}else{System.out.println("格式错误");}}}一、简单的日期判断(YYYY/MM/DD):Java代码^d{4}(-
28、/
29、.)d{1,2}1d{1,2}$^d{4}(-
30、/
31、.)d{1,2}1d{1,2}$二、演化的日期判断(YYYY/MM/DD
32、YY/MM/DD):Java代码^(^(d{4}
33、d{2})(-
34、/
35、.)d{1,2}3d{1,2}$)
36、(^d{4}年d{1,2
37、}月d{1,2}日$)$^(^(d{4}
38、d{2})(-
39、/
40、.)d{1,2}3d{1,2}$)
41、(^d{4}年d{1,2}月d{1,2}日$)$三、加入闰年的判断的:实例:Java代码^((((1[6-9]
42、[2-9]d)d{2})-(0?[13578]
43、1[02])-(0?[1-9]
44、[12]d
45、3[01]))
46、(((1[6-9]
47、[2-9]d)d{2})-(0?[13456789]
48、1[012])-(0?[1-9]
49、[12]d
50、30))
51、(((1[6-9]
52、[2-9]d)d{2})-0?2-(0?[1-9]
53、
54、1d
55、2[0-8]))
56、(((1[6-9]
57、[2-9]d)(0[48]
58、[2468][048]
59、[13579][26])
60、((16
61、[2468][048]
62、[3579][26])00))-0?2-29-))$^((((1[6-9]
63、[2-9]d)d{2})-(0?[13578]
64、1[02])-(0?[1-9]
65、[12]d
66、3[01]))
67、(((1[6-9]
68、[2-9]d)d{2})-(0?[13456789]
69、1[012])-(0?[1-9]
70、[12]d
71、30))
72、(((1[6-9]
73、[2-9]d)d{2})-0?2-(0?[1-9]
74、
75、1d
76、2[0-8]))
77、(((1[6-9]
78、[2-9]d)(0[48]
79、[2468][048]
80、[13579][26])
81、((16
82、[2468][048]
83、[3579][26])00))-0?2-29-))$分析:1、什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定:DateTime值类型表示值范围在公元(基督纪元)0001年1月1日午夜12:00:00到公元(C.E.)9999年12月31日晚上11:59:59之间的日期和时间。2、关于闰年的阐释。关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一
84、回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。首先需要验证年份,显然,年份范围为0001-9999,匹配YYYY的正则表达式为:Java代码[0-9]{3}[1-9
85、]
86、[0-9]{2}[1-9][0-9]{1}
87、[0-9]{1}[1-9][0-