Validate date dd-mmm-yyyy

by Michel Plungjan

HTML

<div id="res"></div>

JavaScript

var res = document.getElementById("res"),str="29-Feb-2012";     

function isValidDate(str) {
  var d = new Date(Date.parse(str.replace(/-/g," "))), parts = str.split("-");
  var monthNum = ["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"].indexOf(parts[1].toLowerCase());
  window.console && console.log(parts[0]+"=="+d.getDate() +"&&"+ monthNum +"=="+ d.getMonth() +"&&"+ parts[2]+"=="+d.getFullYear());  
  return parts[0]==d.getDate() && monthNum == d.getMonth() && parts[2]==d.getFullYear();
}
res.innerHTML+= "<hr/>"+str+" translates into :<br/>"+new Date(Date.parse(str.replace(/-/g," ")));
res.innerHTML+= "<br/>"+str +" is valid? "+isValidDate(str);