Datum mit Javascript überprüfen
Da ich mich gerade etwas mit JavaScript am herumschlagen bin, gibts mal wieder etwas aus dieser Ecke. Für eine kleine Applikation im Geschäft brauchte ich eine Funktion, welche überprüft, ob das Datum in einem Textfeld korrekt ist. Mit Regular Expressions geht das bis zu einem gewissen Grad, überprüfen ob das Datum aber wirklich gültig ist geht damit allerdings nicht. Stichwort Schaltjahr.
Mit dem JavaScript Objekt date kann man das Datum aber sehr genau überprüfen. Die folgende Funktion überprüft, ob das Datum im Textfeld das Format ddmmyy hat und ob es gültig ist.
Aufrufen kann man die Funktion zum Beispiel so:
Und hier die Funktion.
Mit dem JavaScript Objekt date kann man das Datum aber sehr genau überprüfen. Die folgende Funktion überprüft, ob das Datum im Textfeld das Format ddmmyy hat und ob es gültig ist.
Aufrufen kann man die Funktion zum Beispiel so:
<input type="text" name="datum" onBlur="checkdate(this)" />
Und hier die Funktion.
function checkdate(object)
{
// wert auslesen
value=object.value;
// regexp zur grobpruefung des datums
var reg=new RegExp("^([0-3]{1})([0-9]{1})([0-1]{1})([0-9]{1})([0-2]{1})([0-9]{1})$","g");
// wenn das regexp nicht matcht
if(!value.match(reg))
{
return false;
}
// datum in tag, monat und jahr zerlegen
var day=value.substr(0,2);
var month=value.substr(2,2)-1;
var year=value.substr(4,2);
// datums objekt erstellen
date=new Date(year,month,day);
// jahr ueberprufen
if(year!=date.getYear())
{
return false;
}
// monat ueberpruefen
if(month!=date.getMonth())
{
return false;
}
// tag ueberpruefen
if(day!=date.getDate())
{
return false;
}
return true;
}
Kommentare
Jonas
05.02.09 18:37
also ist das Datum auch Ok wenn value.match(reg) == false ist?
david
05.02.09 22:37
Ich habe das Script noch etwas angepasst, so sollte es stimmen.
Danke für den Hinweis.