The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2007-01-04 17:15  Cure  阅读(1156)  评论(1编辑  收藏  举报
如何用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;
}