Vor kurzem habe ich einen Regex für meinen PHP-Code erstellt, der nur die Buchstaben erlaubt (einschließlich Sonderzeichen plus Leerzeichen), aber jetzt habe ich ein Problem mit der Konvertierung (?) in die JavaScript-kompatible Regex, hier ist es : /^[\s\p{L}]+$/u
, das Problem ist der Modifikator /u
am Ende des Regex-Musters, da das JavaScript solche Flags nicht zulässt.
Wie kann ich das umschreiben, damit es auch im JavaScript funktioniert?
Gibt es etwas, das nur polnische Zeichen zulässt: Ł
, Ą,
Ś
, Ć
, ...
JavaScript hat keine Vorstellung von UTF-8-Strings, daher ist es unwahrscheinlich, dass Sie das /u
-Flag benötigen. (Ihre Strings sind wahrscheinlich schon in der üblichen JavaScript-Form, eine UTF-16 Code-Unit pro "Zeichen".)
Das größere Problem ist, dass JavaScript \p{L}
oder eine äquivalente Notation nicht unterstützt; JavaScript-Regexes haben keine Kenntnis von Unicode-Zeicheneigenschaften. In den Antworten auf diese StackOverflow-Frage finden Sie Näheres zur ungefähren Vorgehensweise.
Bearbeitet zum Hinzufügen: Wenn Sie nur polnische Buchstaben unterstützen müssen, können Sie /^[\sa-zA-ZĄĆĘŁŃÓŚŹŻąćęłńóśźż]+$/
schreiben. Die Teile a-z
und A-Z
umfassen die ASCII-Buchstaben, und dann werden die restlichen Buchstaben einzeln aufgelistet.
Tags und Links javascript php regex unicode