08 og 09 kan ikke bruges i forbindelse med parseInt, se her:
http://developer.irt.org/script/1438.htmDesuden forudsætter koden i
http://www.eksperten.dk/spm/29638 at datoformatet er mm-dd-yy.
Jeg har rettet koden til:
<html>
<head>
<title>Validate Date</title>
<script language=\"JavaScript\">
<!--
function validatedate(f) {
if (f.dato.value==\"\") {
alert(\"Du skal skrive en dato\");
return false;
}
if (f.dato.value.length!=8) {
alert(\"Datoen skal skrives på formen DD-MM-ÅÅ\");
return false;
}
if (f.dato.value.charAt(2)!=\"-\" || f.dato.value.charAt(5)!=\"-\") {
alert(\"Datoen skal skrives på formen DD-MM-ÅÅ\");
return false;
}
var dd=parseInt(f.dato.value.substring(0,2),10);
var mm=parseInt(f.dato.value.substring(3,5),10);
var yy=parseInt(f.dato.value.substring(6,8),10);
if (mm<1 || mm>12 || dd<1 || dd>31) {
alert(\"Ulovlig dato\");
return false;
}
if (yy>=70) { yyyy=yy+1900 } else { yyyy=yy+2000; }
d=new Date(yyyy,mm-1,dd,0,0,0,0);
if (d.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) {
alert(\"Ulovlig dato2\");
return false;
}
return true;
}
//-->
</script></head>
<body>
<form method=post action=\"\" name=\"eksform\" onsubmit=\"return validatedate(document.eksform)\">
<input type=\"text\" name=\"dato\"><br>
<input type=\"submit\">
</form>
</body>
</html>