Java Reference
In-Depth Information
 Bild 7.9■
Die Anwendung von regulären Aus-
drücken in search() und replace()
Mit testText.search(/\d+/) suchen wir die Position der ersten Zahl in dem Testtext und
mit testText.replace(/\d+/,"xxxx") ersetzen wir die erste Zahl durch xxxx .
Sperren bestimmter Eingaben in einem Webformularfeld mit regulären
Ausdrücken und der match()- beziehungsweise replace()-Methode
Eine wichtige Anwendung der Kontrolle des Inhalts in einem freien Formulareingabefeld ist
die Verhinderung bestimmter Zeicheneingaben wie HTML-Tags, um das Hineinschmuggeln
von gefährlichem Skriptcode zu verhindern (beispielsweise in ein Gästebuch oder ein Dis-
kussionsforum auf HTML-Basis). Sie können nun explizit bestimmte Inhalte verhindern
oder sie ersetzen. Das wollen wir hier mit regulären Ausdrücken realisieren. Beispiel
(kap7_14.html):
Listing 7.37■ Verhindern von bestimmten Eingaben in einem Webformular
...
<script type="text/javascript">
function testInhalt(feld) {
regausdruck = /<script\s|<script>|<applet\s|<object\s|<object>/gi;
treffer = feld.value.match(regausdruck);
if (treffer) {
ersatz = feld.value.replace(regausdruck, " *** ");
feld.value = ersatz;
alert("Sie verwenden scheinbar HTML-Anweisungen,\n" +
"um ausführbaren Code zu übermitteln. Das ist untersagt.\n" +
"Korrigieren Sie Ihre Eingabe, " +
"indem Sie alle\nmit *** gekennzeichneten Stellen löschen" +
" oder korrigieren.");
feld.focus();
feld.select();
return false;
} else {
return true;
}
}
</script>
</head>
<body>
<form>Ihr Eintrag im Gästebuch<hr>
<textarea name="eins" cols="80" rows="12"
 
Search WWH ::




Custom Search