Her kan du validere om en dato er korrekt. Du skal lige selv skrive den til så den ikke tager tt:mm med men istedet yyyy
function validatedate(dtInput) { // Denne funtion tjecker datoen og tiden dvs. dd-mm-yy OG tt:nn if (dtInput.value!="") { if (dtInput.value.length!=14) { alert("Dato og tid skal skrives på formen DD-MM-ÅÅ TT:MM\n\neks:\n24-12-01 15:45"); return false; } if (dtInput.value.charAt(2)!="-" || dtInput.value.charAt(5)!="-" || dtInput.value.charAt(8)!=" " || dtInput.value.charAt(11)!=":") { alert("Dato og tid skal skrives på formen DD-MM-ÅÅ TT:MM\n\neks:\n24-12-01 15:45"); return false; } var dd=parseInt(dtInput.value.substring(0,2),10); var mm=parseInt(dtInput.value.substring(3,5),10); var yy=parseInt(dtInput.value.substring(6,8),10); var tt=parseInt(dtInput.value.substring(9,11),10); var nn=parseInt(dtInput.value.substring(12,14),10); if (mm<1 || mm>12 || dd<1 || dd>31) { alert("Ulovlig dato"); return false; } if (tt>23 || nn>59 ) { alert("Ulovlig tid"); 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 dato"); return false; } } return true; }
<html> <head> <script language="javascript"> function validatedate(dtInput) { // Denne funtion tjecker datoen og tiden dvs. dd-mm-åååå if (dtInput.value!="") { if (dtInput.value.length!=10) { alert("Dato og tid skal skrives på formen DD-MM-ÅÅÅÅ \n\neks:\n24-12-1972"); return false; } if (dtInput.value.charAt(2)!="-" || dtInput.value.charAt(5)!="-") { alert("Dato og tid skal skrives på formen DD-MM-ÅÅÅÅ \n\neks:\n24-12-1972"); return false; } var dd=parseInt(dtInput.value.substring(0,2),10); var mm=parseInt(dtInput.value.substring(3,5),10); var yyyy=parseInt(dtInput.value.substring(6,10),10); if (mm<1 || mm>12 || dd<1 || dd>31) { alert("Ulovlig dato"); return false; } var d=new Date(yyyy,mm-1,dd,0,0,0,0); if (d.getFullYear()!=yyyy || (d.getMonth()+1)!=mm || d.getDate()!=dd) { alert("Ulovlig dato"); return false; } } var tmpTodayYear = new Date(); tmpTodayYear = parseInt(tmpTodayYear.getYear()); var tmpUserYear = parseInt(d.getYear());
<html> <head> <script language="javascript"> function validatedate() { var oBirth="1972"; var tmpTodayYear = new Date(); tmpTodayYear = parseInt(tmpTodayYear.getYear());
alert("oBirth ="+oBirth+ "\ntmpTodayYear="+tmpTodayYear+ "\n\nMin alder er "+ (tmpTodayYear-oBirth));
nej nej.. et eller andet sted i koden skriver jeg ex som du skriver: var oBirth="17/07-1982";
på skærmen et sted skriver den så bare 19 ikke alert eller noget bare på en side
Synes godt om
Slettet bruger
05. marts 2003 - 15:45#13
<script> fd = "17/07-1983";
fdDato = new Date(parseInt(fd.split("-")[1], 10), parseInt(fd.split("-")[0].split("/")[1], 10) - 1, parseInt(fd.split("-")[0].split("/")[0], 10)); nu = new Date(); aar = nu.getFullYear() - fdDato.getFullYear(); temp = new Date(nu.getFullYear(), fdDato.getMonth(), fdDato.getDate()); aar -= (temp.getTime() > nu.getTime()) ? 1 : 0; document.write(aar); </script>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.