Javascript Valid Date Проверка не работает в IE8 (и Firefox)
Я попробовал два популярных ответа отОбнаружение «недопустимой даты» экземпляра Date в JavaScript для проверки действительных дат. Я протестировал оба из них в IE8 - К сожалению, оба разочаровывают. Смотрите это здесьhttp://jsfiddle.net/Lijo/uzSU6/2/
Есть ли лучший код JavaScript, который будет работать в IE8 + Chrome + Firefox?
Примечание: к моему удивлению, это не очень хорошо работает в Firefox ...
УСЛОВИЕ
Предполагается, что формат даты будет в формате США с косыми чертами (/)
КОД
isValidDateCheck2('12/33/2012') ;
isValidDateCheck1('12/12/2012') ;
function isValidDateCheck1(d)
{
alert(Object.prototype.toString.call(d));
if ( Object.prototype.toString.call(d) !== "[object Date]" )
{
alert('Not Valid');
}
if(!isNaN(d.getTime()))
{
alert(d.getTime());
}
}
function isValidDateCheck2(d)
{
var timestamp=Date.parse(d);
alert(timestamp);
if (isNaN(timestamp)==false)
{
var date=new Date(timestamp);
alert(date);
}
}
РЕДАКТИРОВАТЬ
Подход @mplungjan (впервые предложенный) указан вhttp://jsfiddle.net/Lijo/uzSU6/7/, Это не удалось в IE8 для одного сценария -http://jsfiddle.net/Lijo/uzSU6/12/.