RegEx in JavaScript
Wieso ist der Rückgabewert von (/[0-9a-zA-Z]/ bei der Eingabe von Buchstaben mit Sonderzeichen true?
Hallo Zusammen
Ich habe ein Problem in JavaScript mit RegEx. Folgender RegEx habe ich in einer if- Abfrage:
if(text1.match(/[0-9a-zA-Z]/))
Ziel ist es den text1 zu filter, dass nur Zahlen und Buchstaben erlaubt sind. Aus mir schleierhaften Gründen wird auch bei einer Eingabe mit Sonderzeichen true zurückgegeben.
Bsp:
Abcd = true
Acb3 =true
Acd* =true (Wieso das?
/&)*=false
Der Wert text1 wird aus einem HTML-Formular eingelesen und über einen Methodenaufruf übergeben. Wieso wird Acd* als true dargestellt?
Vielen Dank für eure Hilfe.
Lg
Sy-Br34k3r
Hallo Zusammen
Ich habe ein Problem in JavaScript mit RegEx. Folgender RegEx habe ich in einer if- Abfrage:
if(text1.match(/[0-9a-zA-Z]/))
Ziel ist es den text1 zu filter, dass nur Zahlen und Buchstaben erlaubt sind. Aus mir schleierhaften Gründen wird auch bei einer Eingabe mit Sonderzeichen true zurückgegeben.
Bsp:
Abcd = true
Acb3 =true
Acd* =true (Wieso das?
/&)*=false
Der Wert text1 wird aus einem HTML-Formular eingelesen und über einen Methodenaufruf übergeben. Wieso wird Acd* als true dargestellt?
Vielen Dank für eure Hilfe.
Lg
Sy-Br34k3r
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113341
Url: https://administrator.de/forum/regex-in-javascript-113341.html
Ausgedruckt am: 25.12.2024 um 02:12 Uhr
2 Kommentare
Neuester Kommentar
Weil du keinen Bereich für den Match angegeben hast.
Wenn du die Regel /[0-9a-zA-Z]/ und den String "Keks" hast matcht die RegEx bei "K" und wird beendet.
Wenn du den String "Äha" hast matcht die RegEx beim "h" und ist fertig.
Was du brauchst ist:
(nicht getestet)
Du könntest natürlich auch den Match so umdrehen, dass er zutrifft wenn er ein nichtalphanumerisches Zeichen findet:
(nicht getestet)
Grüße
Max
Wenn du die Regel /[0-9a-zA-Z]/ und den String "Keks" hast matcht die RegEx bei "K" und wird beendet.
Wenn du den String "Äha" hast matcht die RegEx beim "h" und ist fertig.
Was du brauchst ist:
/^[0-9a-zA-Z]+$/
Du könntest natürlich auch den Match so umdrehen, dass er zutrifft wenn er ein nichtalphanumerisches Zeichen findet:
/[^0-9a-zA-Z]/
Grüße
Max