Hallo,
vielleicht verstehte ich das RegExp Konzept von JS einfach nicht. Kann mir jemand helfen?
Ich versuche eine allgmeine Datumprüfung zu schreiben. Sie soll '15.3.2004' genauso verstehen wie '15. Mai 04'.
Um das zu erreichen wende ich zweimal nacheinander einen regulären Ausdruck an. Wenn ich den geklammerten Wert der zweiten Anwendung auslesen möchte kommt aber als Ergenbis immer der Wert der ersten raus.
Muss man RegExp zurücksetzen oder kann man das Objekt irgendwie direkt ansprechen?
Codeschnipsel:
function checkdate (datefield) {
alert (datefield);
datepattern = /(\d.)(\D.+\b)(\d.+)/;
//hier wird der Datumsstring dreigeteilt, der Monat hat das Sonderzeichen davor und dahinter
datepattern.exec(datefield);
var day = RegExp.$1;
var year = RegExp.$3;
clearmonth = /\W(\w.+)\W/;
//hier werden die Sonderzeichen vor und hinter dem monat/Monatsnamen enfernt
clearmonth.exec(RegExp.$2);
month = RegExp.$1;
//FEHLER: Es wird der Tag des Monats (erste RegEx) und nicht der monat (zweite RegEx) ausgegeben, warum???
alert (day+"|"+month+"|"+year);
return
}
Kann mir jemand helfen??
Vielen Dank
daniel