Hallo zusammen,
bräuchte eure Hilfe für eine logische Datum-Abfrage eines Eingabefeldes. Bin im Javascript nicht sehr fit und komme alleine nicht weiter.
Habe für ein Datum-Eingabefeld folgende Funktion gefunden, die bei onKeyUp prüft und alles ersetzt, das nicht . / - oder eine Zahl ist.
Möchte das Script nun so umschreiben, das es das Eingabefeld nach einem logischen Format des Datum prüft und löscht, wenn es nicht stimmt.
Die Eingabe soll in folgendenden Formaten zulässig sein:
01.08.2012 oder 01-08-2012 oder 01/08/2012
Außerdem dürfen die Zahlen für TAG nicht größer sein als 01 bis 31,
dann ein . oder - oder / ,
dann der MONAT, nicht größer als 01 bis 12,
dann wieder ein . oder - oder / ,
und dann das JAHR, das mit 20 beginnen muss, was darauf folgt muss größer sein als 07.
Weiß nicht so recht wie ich das angehen soll, weil ich vor allem die verschiedenen Klammerkombinationen () oder [], die ich scheinbar bentzen kann, nicht so recht verstehe.
Kann ich die einzelnen Zahlenpakete für TAG MONAT und JAHR mit einer Abfrage wie 01-31 lösen oder muss ich sagen, "wenn nicht 01 oder 02 oder 03 ..... oder 31" dann löschen?
Ich hoffe jemand kann mir einen Tipp, einen Denkanstoß geben wie ich weiterkommen?
Vielen Dank!
bräuchte eure Hilfe für eine logische Datum-Abfrage eines Eingabefeldes. Bin im Javascript nicht sehr fit und komme alleine nicht weiter.
Habe für ein Datum-Eingabefeld folgende Funktion gefunden, die bei onKeyUp prüft und alles ersetzt, das nicht . / - oder eine Zahl ist.
Code:
<script language="JavaScript">
function checkDatum(el) {
var val = el.value.replace(/[^\.\/\-\d]/g, '');
el.value = val;
}
</script>
HTML:
<form>
<input value="" type="text" maxlength="10" onKeyUp="checkDatum(this);" />
</form>
Möchte das Script nun so umschreiben, das es das Eingabefeld nach einem logischen Format des Datum prüft und löscht, wenn es nicht stimmt.
Die Eingabe soll in folgendenden Formaten zulässig sein:
01.08.2012 oder 01-08-2012 oder 01/08/2012
Außerdem dürfen die Zahlen für TAG nicht größer sein als 01 bis 31,
dann ein . oder - oder / ,
dann der MONAT, nicht größer als 01 bis 12,
dann wieder ein . oder - oder / ,
und dann das JAHR, das mit 20 beginnen muss, was darauf folgt muss größer sein als 07.
Weiß nicht so recht wie ich das angehen soll, weil ich vor allem die verschiedenen Klammerkombinationen () oder [], die ich scheinbar bentzen kann, nicht so recht verstehe.
Kann ich die einzelnen Zahlenpakete für TAG MONAT und JAHR mit einer Abfrage wie 01-31 lösen oder muss ich sagen, "wenn nicht 01 oder 02 oder 03 ..... oder 31" dann löschen?
Ich hoffe jemand kann mir einen Tipp, einen Denkanstoß geben wie ich weiterkommen?
Vielen Dank!