Nico R.: Verständnisfrage zu Regex in JS und HTML

Beitrag lesen

Ohje, bitte nicht noch ein neues Problem 😟 Trotzdem danke natürlich für den Hinweis. Für mich scheint dann wohl [.|,]{1} die bessere Lösung zu sein, da eine Eingabe von '123,,45' natürlich nicht TRUE sein soll.

Für das Problem mit dem '|' habe ich gerade keine Idee. Wenn ich [.|,] durch (.|,) ersetze, kann ich weiterhin ein '|' eingeben. Ich schiebe das erstmal nach hinten...

Um zu erreichen, dass vorne maximal drei Ziffern stehen dürfen und - wenn ein Punkt oder Komma gesetzt wurde - maximal zwei Ziffern folgen dürfen, hab ich folgendes probiert, was natüüüürlich nicht funktioniert hat:

^([0-9]{0,3}(?:(?=[.|,]{1})[0-9]{1,2}|(?![.|,])))$

Meine Gedanken dazu, wild zusammengesucht und gelesen...

Die große Klammer ums "if-Konstrukt":

(?:

Wenn ein Punkt oder Komma vorkommt:

 (?=[.|,]{1})

...können min ein und max zwei Ziffern folgen:

    [0-9]{1,2}

ODER

|

Es kommt kein Punkt oder Komma vor:

(?![.|,])

)

Bin ich auf der richtigen Spur oder ist das kompletter Quatsch?