日期:2014-05-17  浏览次数:21280 次

求js验证yyyy-MM-dd格式的正则表达式
如题:

不仅仅要验证格式,还要验证日期的正确性:

如:04月 则2011-04-31日期不通过
    02月 闰年2011-04-29不合法

   2011-13-29不合法
   2011-12-44不合法
------解决方案--------------------
lz 请测试一下   可能不符合情况  小弟不精通。

\^[0-2]\d{4}\-[0-2]\d{2}\-[0-3]\d{2}$/
------解决方案--------------------
用单独一个正则表达式实现不了。
建议你使用多个正则表达式,第一个验证第一个“-”号最左边的年份,
第二个验证月份,日期不使用正则表达式,而是使用程序判断。
------解决方案--------------------
送上火龙果大神
http://blog.csdn.net/bao110908/article/details/2132973

注意,日期验证范围,并不是他说的1~9999,因为现行公历从158x年才开始实行。比如1700,1800不是闰年,但是按照当时标准,1400年是。另外,公历开始的几天,中间跳了10天,这十天,在历史上不存在。如果不考虑哪些细枝末节的话,直接用就可以了。
------解决方案--------------------
为啥不直接加个日历差价让用户选,非要让用户填YYYY-MM-DD这么麻烦格式的日期那,再说一般系统中获取日期时间都是获取当前系统时间,开发者应该在后台给使用者处理好,如非用户选择,日期控件是首选
------解决方案--------------------
有十天在历法上不显示:1582年10月5日—1582年10月14日
引用:
送上火龙果大神
http://blog.csdn.net/bao110908/article/details/2132973

注意,日期验证范围,并不是他说的1~9999,因为现行公历从158x年才开始实行。比如1700,1800不是闰年,但是按照当时标准,1400年是。另外,公历开始的几天,中间跳了10天,这十天,在历史上不存在。如果不考虑哪些细枝末节的话,直接用就可以了。

------解决方案--------------------
引用:
为啥不直接加个日历差价让用户选,非要让用户填YYYY-MM-DD这么麻烦格式的日期那,再说一般系统中获取日期时间都是获取当前系统时间,开发者应该在后台给使用者处理好,如非用户选择,日期控件是首选


用日历插件最好,可以省略日期判断