WEB开发网
开发学院网页设计JavaScript 如何用javascript判断录入的日期是否合法 阅读

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

 2007-01-05 19:57:01 来源:WEB开发网   
核心提示:如何用javascript判断录入的日期是否合法function IsValidYear(psYear){ var sYear = new String(psYear); if(psYear==null) { return false; } if(isNaN(psYear)==true) { retur

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

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;
}

Tags:如何 javascript 判断

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接