0

我正在尝试在不使用正则表达式的情况下编写 javascript 日期格式验证。当我输入日期 26/02/2013 时,我的警报值为 Wed Sep 2 2093,错误消息日期不是有效格式

任何帮助将不胜感激

    function CheckDateFormat(StartDateform)     

    {   
            var StartDateform= document.getElementById('tblTarget').rows[1].cells[StartDate].getElementsByTagName('input')[0].value;        
            spl = StartDateform.split("/"); 


            var testDate=new Date(spl[2],spl[0]-1,spl[1]);              

            year= testDate.getFullYear();                   
            month = testDate.getMonth()+1;                  
            day= testDate.getDate();

            alert ("the date value is "+ " "+ testDate);

        if (day!==spl[1] || month!==spl[0] || year!==spl[2])                    
        {
            alert ("the date value is "+ " "+ testDate);
            alert(StartDateform + " " + "Is an Invalid Date. Please use the format 'MM/DD/YYYY'");
            return false;
        }


        return true;                        
    }                   

    function Submit() 
    {
        if(CheckDateFormat())
        {
        $('button_submit').click(); 
        alert('New rate submitted');
        }
    }
4

1 回答 1

1

构造Date函数期望 Y/M/D:

Date- 创建 JavaScript Date 实例,让您使用日期和时间。

句法

new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day [hour, minute, second, millisecond]);

如果日期是26/02/2013,您将使用 Y/D-1/M 喂它:

new Date(spl[2],spl[0]-1,spl[1]);

从当天减去 1 没有任何意义,所以我猜你只是弄乱了索引。

于 2013-07-17T09:16:40.300 回答