我正在尝试编写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');
}
}
答案 0 :(得分:1)
Date
constructor期望Y / M / D:
Date
- 创建可让您使用的JavaScript日期实例 日期和时间。语法
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没有任何意义所以我猜你刚刚搞砸了索引。