Ed X: JavsScript-Variablen in regulären Ausdrücken (z. B. replace)

Beitrag lesen

Hallo,

ich möchte eine JavaScript-Variable in einem regulären Ausdruck benutzen.

Du wirst wohl nicht um die verwendung des RegExp-objects umhinkommen.
var matcher = new RegExp(suchstring, "g");
evtl. reicht auch

dann sollte
text = text.replace ( matcher , ersatzstring );
mit global-option funktionieren.

Vorsicht, das verstehen evtl. nicht alle Browser.
hier was zum testen:
<-------------------- schnipp ------------------------>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
 <title>Untitled</title>
 <script>
 function repl() {
  var matcher = new RegExp(document.eins.such.value, "g");
  document.eins.testtext.value = document.eins.testtext.value.replace( matcher , document.eins.ersatz.value );
 }
 </script>
</head>

<body>

<form name="eins">
<input type="text" name="such" value="ist"><br>
<input type="text" name="ersatz" value="sei"><br>
<textarea cols="40" rows="6" name="testtext">
Dies ist ein Text in dem das Wort "ist" mehrmahls vorgekommen ist.
Die sinnhaftigkeit des ganzen ist fragwuerdig und ist hiermit dahingestellt.
</textarea><br><br>
<input type="button" value="mache" onClick="repl()"><br>

</form>

</body>
</html>
<-------------------- schnapp ------------------------>

Bye eddie