下面的代码是判断日期是否有效! 但是放到函数中 总是不执行!
不知道是什么原因! 请各位大大帮忙!!!谢谢!!! if (document.FieldSearchForm.start_month.value==2 || document.FieldSearchForm.end_month.value==2)
{
//alert(document.FieldSearchForm.start_month.value)

{
//alert(document.FieldSearchForm.start_month.value=2)
if(((document.FieldSearchForm.start_year.value)%4==0&&day> 29) || ((document.FieldSearchForm.end_year.value)%4==0&&day> 29))

alert( "无效的日期格式!"); 
return   false; 
}


if(((document.FieldSearchForm.start_year.value)%4<>0&&day> 28) || ((document.FieldSearchForm.end_year.value)%4<>0&&day> 28) ) 

alert( "无效的日期格式!"); 
return   false; 

}
if(((document.FieldSearchForm.end_month.value==4||document.FieldSearchForm.end_month.value==6||document.FieldSearchForm.end_month.value==9||document.FieldSearchForm.end_month.value==11)&&(document.FieldSearchForm.end_day.value> 30)) || ((document.FieldSearchForm.start_month.value==4||document.FieldSearchForm.start_month.value==6||document.FieldSearchForm.start_month.value==9||document.FieldSearchForm.start_month.value==11)&&(document.FieldSearchForm.start_day.value> 30))) 

alert( "无效的日期格式!"); 
return   false; 

}

解决方案 »

  1.   

    /**
    * 验证日期
    */
    function checkDate(strValue)
    {
        var regTextTime = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578] )|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))$/;
        return regTextTime.test(strValue);
    }
    if(checkDate("2010-11-25"))
      

  2.   

    if (document.FieldSearchForm.start_month.value==2 || document.FieldSearchForm.end_month.value==2)
    MS只判断了月份为2月的情况
      

  3.   


     if(((document.FieldSearchForm.end_month.value==4||document.FieldSearchForm.end_month.value==6||document.FieldSearchForm.end_month.value==9||document.FieldSearchForm.end_month.value==11)&&(document.FieldSearchForm.end_day.value> 30)) || ((document.FieldSearchForm.start_month.value==4||document.FieldSearchForm.start_month.value==6||document.FieldSearchForm.start_month.value==9||document.FieldSearchForm.start_month.value==11)&&(document.FieldSearchForm.start_day.value> 30))) 
                { 
                alert( "无效的日期格式!"); 
                return   false; 
                } 是判断其余月份的!
      

  4.   

    你一步步跟踪吧,看document.FieldSearchForm.start_month.value这些得到的都是什么值,看走到哪里后没进去