RegExp für Umlaute mit UTF-8 Kodierung
Markus
- javascript
Hallo zusammen,
gleich zum Problem - Bei der Überprüfung von Feldwerten mittels eines regulären Ausdruck in Javascript tritt ein Problem mit Umlauten auf. Folgender Ausdruck funktioniert leider nicht:
var String = "Unterstützung"; // als Beispiel für einen Feldwert
var RegExp = /[1]{2,32}$/;
Die Seite ist UTF-8 kodiert. Die Angabe des Charsets habe ich sowohl im <head>, als auch in jedem <script> Tag notiert. Setze ich die Umlaute bereits UTF8-kodiert in den regulären Audruck, funktioniert dieser auch:
var Exp = /[2]{2,16}$/;
Gibt es hierfür eine elegantere/sichere Lösung? Muss ich unter Umständen auch im <form> Tag explizit das Charset angeben?
Der MIME-Type ist auf text/html mit Standard Charset UTF-8 gesetzt.
Vorab vielen Dank für Eure Unterstützung!
Beste Grüße,
Markus
var String = "Unterstützung"; // als Beispiel für einen Feldwert
var RegExp = /[1]{2,32}$/;
funktionert bei mir Problemlos.
Die Seite ist UTF-8 kodiert. Die Angabe des Charsets habe ich sowohl im <head>, als auch in jedem <script> Tag notiert. Setze ich die Umlaute bereits UTF8-kodiert in den regulären Audruck, funktioniert dieser auch:
var Exp = /[2]{2,16}$/;
Dann ist dein Code nicht utf-8 kodiert. Das ist ein anderes vermutlich iso-8859 oder sowas.
Struppi.
var RegExp = /[1]{2,32}$/;
funktionert bei mir Problemlos.
Bei ISO-8859-1 Kodierung funktioniert dieser Ausdruck zumindest.
Dann ist dein Code nicht utf-8 kodiert. Das ist ein anderes vermutlich iso-8859 oder sowas.
// --------------------------------------------
// HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-script-type" content="text/javascript" />
<script type="text/javascript" charset="utf-8" src="/scripts.js"></script>
// --------------------------------------------
// Apache 2.2
DefaultType "text/html"
AddDefaultCharset "utf-8"
php_admin_value default_mimetype "text/html"
php_admin_value default_charset "utf-8"
Gibt es sonst noch eine Einstellung / Angabe, die ich vergessen habe?
Vielen Dank für Deinen Hinweis!
Beste Grüße,
Markus
a-zA-ZäüöÄÜÖß\s- ↩︎
hi,
<script type="text/javascript" charset="utf-8" src="/scripts.js"></script>
Und das Script hast du auch in UTF-8 gespeichert - oder _behauptest_ du das hier nur?
Und wenn dein Server auch noch eine Angabe zur Kodierung der JS-Ressource macht - sagt er dann auch die Wahrheit?
gruß,
wahsaga
Und das Script hast du auch in UTF-8 gespeichert - oder _behauptest_ du das hier nur?
Behauptet habe ich das nicht. Aber vergessen. ;-)
Da lag der Fehler. Das Problem ist damit gelöst.
Vielen Dank für Deinen Hinweis!
Beste Grüße,
Markus