kostenloser Webspace werbefrei: lima-city


Regulärer Ausdruck - Erlaubt: Zahl von 1 bis 23

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    s*****d

    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
    pattern=""
    regeln.
    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    s*****d

    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.
  5. Ja, das hast du richtig verstanden. Probier doch mal die {1} weg zu lassen, das sollte immer noch funktionieren. :)
  6. Autor dieses Themas

    s*****d

    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
    ^([0-9]{1}|1[0-9]{1}|2[0-3]{1})$
    sollte man dann das hier verwenden:
    ^([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.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!