KoggenMedlem sedan juni 2002169 inlägg
Hej
Jag har letat i forumet, men hittar inget om just denna typ av validering.
Jag har ett datumfält i ett formulär som jag vill skall valideras så att formatet 2003-03-06 följs. D.v.s. fyra siffror, följt av bindestreck, sen två siffror, följt av bindestreck och sist två siffror och inget mer.
Formulärfältet ingår i ett aspdokument för att skicka upp filer på servern, så jag vill helst lösa detta med javascript.
Tack för hjälpen i förväg
Peter SMedlem sedan dec. 20025 484 inlägg
Du kan ta bort den kursiverade delen om du inte vill kontrollera att datumet inte är större än dagens:
function checkDate(o){
var p = o.elements["date"].value;
if(! /^([0-9]{4})[\-]([0-9]{2})[\-]([0-9]{2})$/.test(p)){
alert("Felaktigt datum");
return false;
}[i] else {
var t = p.split("-");
var d = new Date();
var year =(d.getYear() < 1000) ? d.getYear()+1900 : d.getYear();
if(t[0] > year || t[1] > (d.getMonth()+1) || t[2] > d.getDate()){
alert("Felaktigt datum");
return false;
}
}[/i]
};
...
<form onsubmit="return checkDate(this)">
<input type="text" name="date">
</form>
...
:)