Siechfred: Regular Expression für ein Datum

Beitrag lesen

Allerdings akzeptiert dieser RegExp auch ein Datum wie "99.00.8652", willst du das?
Nein das will ich nicht. Das war aber auch im Format /d/d/d/d auch der Fall. Kann man das mit RegExp einschränken, so dass nur Jahreszahlen von 0000 bis 2099 möglich sind? Ob es Sinn macht weiss ich allerdings noch nicht;-)

Ja, das geht mit Lookarounds.

Es kam die Meldung "Invalid Range in character class". Das ganze in JavaScript.

Du hast nicht bedacht, dass ein "-" innerhalb einer Zeichenklasse ein "von ... bis" kennzeichnet. Schreibst du beispielsweise "[0-9]", beinhaltet die Zeichenklasse die Ziffern 0 bis 9. Wenn du schreibst [/-.], interpretiert Javascript dies als "alle Zeichen vom Slash bis zum Punkt", was aber falsch ist, da laut ASCII-Tabelle erst der Punkt und dann der Slash kommt. Ergo ist ein "von ... bis" unlogisch, was Javascript dir mit der Fehlermeldung signalisiert hat. Auf die Besonderheit des Bindestrichs hatte ich in diesem Posting schon hingewiesen.

Ich hab allerdings [./-] verwendet und so funktionierts.

Ja, weil der Bindestrich am Ende steht und somit nicht die Funktion eines "von ... bis" haben kann. Übrigens erlaubst du auch den Backslash als Trennzeichen, es sei denn, es soll der Maskierung dienen, die jedoch innerhalb von Zeichenklassen nicht nötig ist. Deine Zeichenklasse sieht daher so aus: "[/.-]".

Siechfred

0 35

Regular Expression für ein Datum

  1. 0
    1. 0
      1. 0
        1. 0
        2. 0
          1. 0
          2. 0
            1. 0
              1. 0
                1. 0
              2. 0
                1. 0
                  1. 0
  2. 0
    1. 0
      1. 0
        1. 0
      2. 0
        1. 0
          1. 0
      3. 0
  3. -1
  4. 0
    1. -1
      1. 0
        1. 0
          1. 1
            1. 1
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
        2. 0