Parsing Date in string. fix problem.
by lozenlin
HTML
<span id="resultArea"></span>
JavaScript
//allow yyyy-MM-dd and yyyy/MM/dd only.
function customValidateDateTime(strValue) {
var value = strValue.replace(/[-]/g, "/");
var result = Date.parse(value);
var resultDate = new Date(result);
var strResultDate = "" + resultDate.getFullYear() + "/";
if (resultDate.getMonth() < 9) {
strResultDate += "0";
}
strResultDate += (resultDate.getMonth() + 1) + "/";
if (resultDate.getDate() < 9) {
strResultDate += "0";
}
strResultDate += resultDate.getDate();
var isValid = true;
if (isNaN(result)) {
isValid = false;
} else if (strResultDate != value) {
isValid = false;
}
return isValid
}
var dateStrings = ["2012-12-03", "2012-12-03x", "2012-12-03xx"];
var result = "";
for (var key in dateStrings) {
result += "\"" + dateStrings[key] + "\"" + (customValidateDateTime(dateStrings[key]) ? " is a Date." : " is NOT a Date.") + "<br />";
}
var iWannaKnow = new Date(Date.parse("2012/12/03x"));
result += "<br /><br />\"2012/12/03x\" = \"" + iWannaKnow.toString() + "\"";
$("#resultArea").html(result);