~tine~ Geschrieben 18. Mai 2006 Teilen Geschrieben 18. Mai 2006 Hallo, ich bin verzweifelt am Versuchen, mir ein RegExp zu erstellen, der - in Worten - eine Benutzereingabe folgendermaßen prüfen soll: die ersten 2 Zeichen müssen Zahlen sein auf diese 2 Zahlen kann ein Punkt folgen, aber nichts anderes folgt ein Punkt, müssen wieder 2 Zahlen folgen auf diese 2 Zahlen kann wieder ein Punkt folgen, aber nichts anderes folgt ein Punkt, müssen wieder 2 Zahlen folgen auf diese 2 Zahlen kann wieder ein Punkt folgen, aber nichts anderes folgt ein Punkt, müsen eine bis max. vier Zahlen folgen Erlaubte Eingaben wären also: 11 oder 11.11 oder 11.11.11 oder 11.11.11.1 - 11.11.11.1111 Mein Versuch sieht so aus: /^([0-9]{2})(\.{0,1})(?(2)([0-9]{2}))(\.{0,1})(?(4)([0-9]{2}))(\.{0,1})(?(6)([0-9]{1,4}))$/ Beim Testen mit match bekomme ich folgende Meldung: invalid quantifier Wenn ich den RegExp in PHP mit preg_match ausführe, funktioniert es allerdings - zumindest kommen keinerlei Fehlermeldungen und die Funktion wird ausgeführt. Weiß vielleicht jemand, wo das Problem liegen könnte? tine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 18. Mai 2006 Teilen Geschrieben 18. Mai 2006 Also ich hab deine RegExp jetzt mal abgeändert: ^([0-9]{2})(\.[0-9]{2}){1,2}(\.[0-9]{1,4})?$ Die kannst du z.B. hier testen oder den RegexCoach benutzen. Damit hab ich das auch gemacht. einen Fehler hat es noch, und zwar kann nach dem 2ten Punkt auch nur 1 Zahl stehen :\ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
~tine~ Geschrieben 18. Mai 2006 Autor Teilen Geschrieben 18. Mai 2006 Vielen Dank für die Hilfe. Das bringt mich schon mal ein ganzes Stück weiter. Werd jetzt mal auf der von dir geposteten Seite noch bisschen rumtesten, um das mit den 2 Zahlen nach einem Punkt noch hinzubekommen. tine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Mai 2006 Teilen Geschrieben 18. Mai 2006 Beim Testen mit match bekomme ich folgende Meldung: invalid quantifier Das liegt daran, dass die RegExp-Engine von Java-Script kein Lookaround unterstützt. So sollte es gehen: /^((\d{2})((\.\d{2}){0,2}|(\.\d{2}){2}(\.\d{1,4})))$/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
~tine~ Geschrieben 18. Mai 2006 Autor Teilen Geschrieben 18. Mai 2006 Danke @Monty82. Das funktioniert genau so wie ich es brauche. Hatte mir schon gedacht, dass es irgendwie an den Bedingungsabfragen liegen muss, hatte aber keine Ahnung, wie ich die umgehen kann. tine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.