0

正規表現を使用せずに JavaScript の日付形式の検証を記述しようとしています。2013 年 2 月 26 日という日付を入力すると、2093 年 9 月 2 日水曜日というアラート値が表示され、日付が有効な形式ではありませんというエラー メッセージが表示されます

どんな助けでも感謝します

    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/2013Y/D-1/M を指定しています:

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

日から 1 を引いても意味がないので、インデックスをめちゃくちゃにしただけだと思います。

于 2013-07-17T09:16:40.300 に答える