~tine~ Geschrieben 18. Mai 2006 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
geloescht_JesterDay Geschrieben 18. Mai 2006 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 :\
~tine~ Geschrieben 18. Mai 2006 Autor 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
Monty82 Geschrieben 18. Mai 2006 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})))$/
~tine~ Geschrieben 18. Mai 2006 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden