Wie kann ich den Bereich 1-99 mit einem Regex validieren?
Muss ich überprüfen einige Benutzereingaben, um sicherzustellen, dass eingegebene Zahl ist im Bereich von 1-99 inclusive. Diese müssen ganze (Integer) Werte
Vorangegangenen 0 ist erlaubt, aber optional
Gültige Werte
- 1
- 01
- 10
- 99
- 09
Ungültige Werte
- 0
- 007
- 100
- 10.5
- 010
Bisher habe ich folgende regex, die ich verstanden habe : ^0?([1-9][0-9])$
Dies ermöglicht eine optionale 0 am Anfang, aber ist nicht 100% korrekt sind, wie 1
gilt nicht als gültige
Irgendwelche Verbesserungen/Vorschläge?
InformationsquelleAutor der Frage Jimmy | 2010-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Spitze von meinem Kopf (nicht überprüft)
^(0?[1-9]|[1-9][0-9])$
InformationsquelleAutor der Antwort developmentalinsanity
Hier gehen Sie:
Bedeutung, dass Sie entweder von
InformationsquelleAutor der Antwort Alin Purcaru
funktionieren sollte
InformationsquelleAutor der Antwort red-X
Warum ist regex eine Voraussetzung? Es ist nicht ideal für den numerischen Bereich Berechnungen.
Apache commons hat IntegerValidator mit den folgenden:
Zusätzlich, wenn du mit Spring, Struts, Wicket, Hibernate, etc., haben Sie bereits Zugriff auf eine Reihe validator. Das Rad nicht neu erfinden, die mit Regulären Ausdrücken.
InformationsquelleAutor der Antwort Mark Thomas
Diese funktionierte für mich:
Überprüft 10-99 oder 1-9 => 1-99
mit einer führenden null erlaubt
InformationsquelleAutor der Antwort Androbin
Ich denke, es sollte sein wie...
InformationsquelleAutor der Antwort Yunus Usmani
Nur:
Wird der Bereich festgelegt, aus
0
zu9
und die{1,2}
bedeutet, Ziffern min = 1 und max digits = 2.Wird es akzeptieren, zum Beispiel:
0, 00, 01, 11, 45, 99,
etc...Es wird nicht akzeptieren, zum Beispiel:
000, 1.2, 5,4, 3490,
etc...InformationsquelleAutor der Antwort Marcio Zabeu
Dies ist die einfachste Möglichkeit, die ich denken kann:
^([1-9][0-9]?)$
Erlaubt nur 1-99 beide inclusive.
InformationsquelleAutor der Antwort nickspol
sollten auch funktionieren (es werden wird entsprechen, 00 zu, hoffe, es ist ein Gültiger match).
InformationsquelleAutor der Antwort Lalith
InformationsquelleAutor der Antwort Gadolin