如何用javascript判断录入的日期是否合法

Jscript 2017-01-10

复制代码 代码如下:

function IsValidYear(psYear) {     var sYear = new String(psYear);     if(psYear==null)     {         return false;     }     if(isNaN(psYear)==true)     {         return false;     }     if(sYear == "")     {         return true;     }     if(sYear.match(/[^0-9]/g)!=null)     {         return false;     }     var nYear = parseInt(sYear, 10);     if((nYear < 0) || (9999 < nYear))     {         return false;     }     return true; } function IsValidMonth(psMonth) {     var sMonth = new String(psMonth);     if(psMonth==null)     {         return false;     }     if(isNaN(psMonth)==true)     {         return false;     }     if(sMonth == "")     {         return true;     }     if(sMonth.match(/[^0-9]/g)!=null)     {         return false;     }     var nMonth = parseInt(sMonth,10);     if((nMonth < 0) || (12 < nMonth))     {         return false;     }     return true; } function IsValidDay(psDay) {     var sDay  = new String(psDay);     if(psDay==null)     {         return false;     }     if(isNaN(psDay)==true)     {         return false;     }     if(sDay == "")     {         return true;     }     if(sDay.match(/[^0-9]/g)!=null)     {         return false;     }     var nDay = parseInt(psDay, 10);     if((nDay < 0) || (31 < nDay))     {         return false;     }     return true; } function IsValidDate(psYear, psMonth, psDay) {     if(psYear==null || psMonth==null || psDay==null)     {         return false;     }     var sYear  = new String(psYear);     var sMonth = new String(psMonth);     var sDay   = new String(psDay);     if(IsValidYear(sYear)==false)     {         return false;     }     if(IsValidMonth(sMonth)==false)     {         return false;     }     if(IsValidDay(sDay)==false)     {         return false;     }     var nYear  = parseInt(sYear,  10);     var nMonth = parseInt(sMonth, 10);     var nDay   = parseInt(sDay,   10);     if(sYear=="" &&  sMonth=="" && sDay=="")     {         return true;     }     if(sYear=="" || sMonth=="" || sDay=="")     {         return false;     }     if(nMonth < 1 || 12 < nMonth)     {         return false;     }     if(nDay < 1 || 31 < nDay)     {         return false;     }     if(nMonth == 2)     {         if((nYear % 400 == 0) || (nYear % 4 == 0) && (nYear % 100 != 0))         {             if((nDay < 1) || (nDay > 29))             {                 return false;             }         }         else          {             if((nDay < 1) || (nDay > 28))             {                 return false;             }         }     }     else if((nMonth == 1)  ||              (nMonth == 3)  ||              (nMonth == 5)  ||              (nMonth == 7)  ||              (nMonth == 8)  ||              (nMonth == 10) ||              (nMonth == 12))     {         if((nDay < 1) || (31 < nDay))         {             return false;         }     }     else      {         if((nDay < 1) || (30 < nDay))         {             return false;         }     }     return true; }

相关推荐

ustbfym / 0评论 2013-07-29