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?