当前位置: 代码迷 >> ASP.NET >> 日期格式验证 2011-09-27 格式,该如何处理
  详细解决方案

日期格式验证 2011-09-27 格式,该如何处理

热度:5545   发布时间:2013-02-25 00:00:00.0
日期格式验证 2011-09-27 格式
用正则表达式验证日期格式 日期(年月日)格式为: 2011-09-27;
  验证(时分) 12:00 两个用正则表达式分开验证 在线等待高手解决问题 


------解决方案--------------------------------------------------------
将平年和闰年的日期验证表达式合并,我们得到最终的验证日期格式为YYYY-MM-DD的正则表达式为:

(([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))-02-29)




------解决方案--------------------------------------------------------
自己找找吧
------解决方案--------------------------------------------------------
探讨
自己找找吧

------解决方案--------------------------------------------------------
JScript code
/*===========================================//是否是正确的长日期===========================================*/String.prototype.isLongDate = function(){        var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);         if(r==null)        {                return false;         }        var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);}/*===========================================//是否是正确的短日期===========================================*/String.prototype.isShortDate = function(){        var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);         if(r==null)        {                return false;         }        var d = new Date(r[1], r[3]-1, r[4]);         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);}/*===========================================//是否是正确的日期===========================================*/String.prototype.isDate = function(){        return this.isLongDate()||this.isShortDate();}
  相关解决方案