Regulärer Ausdruck - Erlaubt: Zahl von 1 bis 23
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
attribut
ausdruck
code
eckigen klammern
expression
fehlfunktion
funktionieren
geschweiften klammern
http
interessante aufgabe
jemand
rang
regeln
richtig danke
richtig verstanden probier
url
verschieben
wissensstand
zahl
zehner
-
Hallo!
Falls der Thread woanders hingehört bitte verschieben.
Um in HTML eine Textfeldeingabe zu überprüfen sollen in einem Textfeld nur Werte von 1 bis 23 eingegeben werden dürfen. Das wollte ich mit einem regulären Ausdruck und dem HTML5-Attribut
regeln.pattern=""
Doch besonders gut kenne ich mich mit regulären Ausdrücken nicht aus :S
Könntemir da jemand helfen.
[1-23] heißt ja 1 bis 2 oder 3, nach meinem Wissensstand.
MfG. Simon D. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dafür brauchst du wirklich kein Regex.
Überprüfe doch einfach, ob die Zahl kleiner 24 ist. ;)
Edit: Gerade gesehen, dass HTML 5 benutzt werden soll. Sorry, interessante Aufgabe, werde mich schnell schlau machen.
http://stackoverflow.com/questions/1377926/regular-expression-numeric-range
^([0-9]{1}|1[0-9]{1}|2[0-3]{1})$
Das überprüft auf eine Zahl zwischen 0 und 9 oder eine Zahl zwischen 10 und 19 oder eine zahl zwischen 20 und 23, wenn ich es nicht komplett verhauen hab. :)
Beitrag zuletzt geändert: 6.3.2014 9:04:28 von tchab -
Hi!
Ok, ich habs mal ausprobiert: Danke, funktioniert super!
Ich hoffe mal ich hab das Prinzip verstanden:
Die Zahl, die immer vor den eckigen Klammern steht ist der Zehner und die danach die Einer... Die Eins in den geschweiften Klammern sagt, dass es nur einen Einer gibt. Richtig?
Danke!
MfG. Simon D. -
Ja, das hast du richtig verstanden. Probier doch mal die {1} weg zu lassen, das sollte immer noch funktionieren. :)
-
Hallo!
Ich bins wieder und burgi berichtete mir gerade, dass doch noch eine Fehlfunktion im regulärem Ausdruck ist.
Ich hab schon den fehler behoben, aber an alle, die das vlt später noch einmal lesen möchten:
Es soll nämlich auch statt 9 z B 09 eingegeben werden können.
Statt
sollte man dann das hier verwenden:^([0-9]{1}|1[0-9]{1}|2[0-3]{1})$
^([0-9]{1}|0[0-9]{1}|1[0-9]{1}|2[0-3]{1})$
So das wars. Thread geschlossen, Thema erledigt.
MfG. Simon D. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage