23 Stimmen

Wie kann ich den Bereich 1-99 mit einer Regex validieren?

Ich muss einige Benutzereingaben validieren, um sicherzustellen, dass eine eingegebene Zahl im Bereich von 1-99 einschließlich liegt. Dies müssen ganze (Integer) Werte sein

Eine vorangestellte 0 ist zulässig, aber optional

Gültige Werte

  1. 1
  2. 01
  3. 10
  4. 99
  5. 09

Ungültige Werte

  1. 0
  2. 007
  3. 100
  4. 10.5
  5. 010

Bisher habe ich die folgende Regex, die ich ausgearbeitet habe: ^0?([1-9][0-9])$

Dies erlaubt eine optionale 0 am Anfang, ist aber nicht 100% korrekt, da 1 nicht als gültig erachtet wird

Irgendwelche Verbesserungen/Vorschläge?

1voto

Yunus Usmani Punkte 31

Ich denke, es sollte so sein wie...

^(0[1-9]|[1-9][0-9])$

0voto

Androbin Punkte 959

Das hat bei mir funktioniert:

([1-9][0-9])|(0?[1-9])

Er prüft auf 10-99 oder 1-9 => 1-99 wobei eine führende Null erlaubt ist

-1voto

Marcio Zabeu Punkte 1

Tun Sie es einfach:

^([0]?[1-9]{1,2})$

Der Bereich wird festgelegt von 0 a 9 und die {1,2} bedeutet, dass die Mindestanzahl der Ziffern = 1 und die Höchstzahl der Ziffern = 2 ist.

Sie akzeptiert zum Beispiel: 0, 00, 01, 11, 45, 99, usw... Es wird zum Beispiel nicht akzeptiert: 000, 1.2, 5,4, 3490, usw...

-1voto

abhisheknirmal Punkte 116

Das ist die einfachste Möglichkeit, die ich mir vorstellen kann:

^([1-9][0-9]?)$

Erlaubt nur 1-99, beides inklusive.

-2voto

Lalith Punkte 365
^[0-9]{1,2}$ 

sollte auch funktionieren (es wird auch mit 00 übereinstimmen, hoffentlich ist es eine gültige Übereinstimmung).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X