Gunnar Bittersmann: Verständnisfrage zu Regex in JS und HTML

Beitrag lesen

@@Nico R.

let pattern = /^([0-9]{0,3}[.|,]{0,}[0-9]{1,2})$/ 

funktioniert jetzt so wie in HTML. Ich habe aber noch gemerkt, dass eine Eingabe von '12345' TRUE ergibt. Das soll sie natürlich nur, wenn zwischen '123' und '45' ein '.' oder ',' steht. Ich werde dazu nochmal etwas rumprobieren. Ich vermute aber mal, dass ich noch einen Thread erstelle ;-)

Vorher solltest du dir klarmachen, was [.|,]{0,} bedeutet. Wink: dasselbe wie [.|,]*.

Und es ist nicht das, was du willst. Innerhalb von eckigen Klammern verlieren Zeichen ihre Sonderbedeutung: | steht nicht für „oder“, sondern für das Zeicehen |, d.h. „123|45“ würde auch matchen.

🖖 Живіть довго і процвітайте

--
„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“
— @Grantscheam auf Twitter