java 正则表达式
求助一个YYYYMMDD时间类型的正则表达式~~~谢谢~~ --------------------编程问答-------------------- [0-9]{4}[0-9]{2}[0-9]{2} --------------------编程问答-------------------- 这样可能不行吧~~不是时间啊~你这个20099090好像也能通过吧 --------------------编程问答-------------------- \d{4}(0\d|1[012])(0\d|[12]\d|3[01]) --------------------编程问答-------------------- mark --------------------编程问答-------------------- 这里还有闰年呢?咋办? --------------------编程问答-------------------- YYYYMMDD时间类型的正则表达式~相当复杂的,
上面的只是判断正常状态下的,
像LS说的闰年的问题,那可能没有办法了.即使有,那正则 可能会很夸张.
daimojingdeyu的 \d{4}(0\d|1[012])(0\d|[12]\d|3[01]) 差不多了
\d{4} 年
(0\d|1[012]) 月
(0\d|[12]\d|3[01]) 日 --------------------编程问答-------------------- \\d{4}\\d{2}\\d{2} --------------------编程问答-------------------- MARK. --------------------编程问答--------------------
\d{4}-\d{2}-\d{2} --------------------编程问答-------------------- 极其复杂,建议使用逻辑判断!
参考:http://blog.csdn.net/bao110908/archive/2008/02/29/2132973.aspx --------------------编程问答-------------------- 顶个! --------------------编程问答-------------------- --------------------编程问答-------------------- 格式:yyyyMMdd,年份1600-9999,带闰年判断
^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))0229)|(?:(?:(?:1[6-9]|[2-9]\d)\d{2})(?:(?:(?:0[13578]|1[02])31)|(?:(?:0[13-9]|1[0-2])(?:29|30))|(?:0[1-9]|1[0-2])(?:0[1-9]|1\d|2[0-8]))))$
--------------------编程问答-------------------- yyyyMMdd
带闰年判断
(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)--------------------编程问答-------------------- 使用format的类来强制转化,通过是否有异常抛出来分支。 --------------------编程问答-------------------- 强悍,学习了 --------------------编程问答--------------------
牛人,感觉还是用判断来实现更好 --------------------编程问答-------------------- 17楼的2011-01-8这个通过不了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 何必手动输入日期呢?JSP的直接用My97DatePicker
后台直接用
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
}catch(Exception e){
e.~~~();
} --------------------编程问答-------------------- 13楼牛X。。 --------------------编程问答-------------------- 这个也忒复杂了
--------------------
http://www.mowker.com/list/ --------------------编程问答-------------------- --------------------编程问答-------------------- 为什么非要用正则表达式来验证闰年呢,下个时间控件来选择日期,会自动判别的呀。 --------------------编程问答-------------------- --------------------编程问答-------------------- 求闰月 --------------------编程问答--------------------
补充:Java , Eclipse