119 Stimmen

Abgleich mit regulären Ausdrücken, um auf ein gültiges Jahr zu prüfen

Ich möchte einen Wert validieren, um zu prüfen, ob es sich um ein gültiges Jahr handelt. Meine Kriterien sind einfach: Der Wert sollte eine Ganzzahl mit 4 Zeichen. Ich weiß, dass dies nicht die beste Lösung ist, da es nicht möglich sein wird, Jahre vor 1000 und ermöglicht Jahre wie 5000 . Diese Kriterien sind für mein derzeitiges Szenario angemessen.

Ich habe mir Folgendes ausgedacht

\d{4}$

Dies funktioniert zwar, erlaubt aber auch negative Werte.

Wie kann ich sicherstellen, dass nur positive ganze Zahlen zulässig sind?

0voto

greenie Punkte 329

Sie können Folgendes versuchen, um ein gültiges Jahr aus einer Zeichenkette zu erfassen:

.*(19\d{2}|20\d{2}).*

-1voto

Funktioniert von 1950 bis 2099 und der Wert ist eine ganze Zahl mit 4 Zeichen

^(?=.*?(19[56789]|20\d{2}).*)\d{4}$

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