0
我正在嘗試在不使用正則表達式的情況下編寫javascript日期格式驗證。當我輸入的日期26/02/2013我有周三的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');
}
}
爲什麼沒有正則表達式?正則表達式對於這類事情來說非常棒。 – rjmunro
只是爲了您的信息,存在一些非常成熟的JS庫,它們在解析日期方面做得很好,比如** http://momentjs.com/**。 – thmshd
@rjmunro regexp對驗證日期不利,因爲您還需要驗證很多無效日期,f.ex閏年和日曆中的其他違規行爲。 – David