[REGEXP] Nur Buchstaben, Zahlen, Umlaute, Unterstrich ;D

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Im Normalfall so:

[^a-z0-0äöüß_]

Dazu musst du dann (je nach verwendeter RegEx-Enginge oder Programm) noch den Modifikator für das Ignorieren der Groß-/Kleinschreibung setzen und ggf. noch für Unicode-Unterstützung.

User2416 
Fragesteller
 16.12.2011, 14:32

Etwas derartiges habe ich auch schon versucht.

Die RegExp wird in diesem Fall in javascript verwendet:

var ln = dl.logname.value.match(/[^a-z0-0äöüß_]/i);

doch leider werden ÄÖÜ/aöü als Sonderzeichen erkannt (die Regexp spricht auf sie an) :(

irgendeine Idee, woran das liegen könnte?

Vielen Dank :)

0
Babelfish  16.12.2011, 14:43
@User2416

Wenn die Daten aus einer Datei kommen, dann wird das Problem vermutlich darin liegen, dass die Codierung dieser Datei und deiner JavaScript-Datei nicht übereinstimmt und ä nicht gleich ä ist. Das einfachste wäre es, wenn die Codierungen übereinstimmen - bspw. UTF8.

0
User2416 
Fragesteller
 16.12.2011, 14:54
@Babelfish

Die Daten kommen direkt aus einem Formularfeld und die Codierung ist überall wo man es nur festlegen kann auch auf UTF-8 gesetzt.

Aber ich werde ein paar Versuche in der Richtung unternehmen...

Vielen Dank schonmal ;)

0
Babelfish  16.12.2011, 16:11
@User2416

JavaScript-Datei als utf-8 gespeichert? HTML-Datei als utf-8 gespeichert? Formular mit accept-charset="utf-8" ?

Wenn das alles zutrifft, weiß ich auch nicht weiter. Das sollte dann eigentlich passen.

0
User2416 
Fragesteller
 19.12.2011, 19:22
@Babelfish

das Problem lag daran, dass die Datei bei einem Speichervorgang versehentlich nicht in utf-8 gespeichert wurde.

Vielen Dank für deine Hilfe ;)

0