2016-07-17 13 views
-1

Ich möchte drei Variablen zu einer Funktion übergeben (die Funktion ist unten), und die Funktion sollte "Hahaha" durch "Hohoho" ersetzen, aber die Funktion zeigt "Hohaha" als Ergebnis . Ich möchte den globalen Parameter/g verwenden. -Wie muss ich die Funktion ändern, damit die Funktion "Hohoho" zurückgibt?Javascript RegExp (pass 3 Variablen) newRegexp/g

myReplace("Hahaha","a","o"); 

function myReplace(s2,removeIt,insertIt) { 
alert(s2.replace(removeIt,insertIt)); 
} 
+0

Ich frage mich, warum 4 Antworten über etwas gepostet wurden, das bereits gut beantwortet und ausführlich erklärt wurde. –

+0

@ Al.G. Ich hatte nicht bemerkt, dass es ein Duplikat war; Dein Kommentar war nach meiner Antwort. Ich habe die Antwort gelöscht. Danke, dass du es aufgezeigt hast. –

+0

wie Fengyang Wang sagte: Diese Frage ist kein exaktes Duplikat einer bestehenden Frage. – Heiko

Antwort

-1

Replace-Funktion durchsucht nur eine Zeichenfolge nach einem angegebenen Wert und gibt eine neue Zeichenfolge zurück, bei der der angegebene Wert ersetzt wird.

Wenn Sie einen Wert ersetzen möchten, der kein regulärer Ausdruck ist, wird nur die erste Instanz des Werts ersetzt. Um alle Vorkommen zu ersetzen, verwenden Sie den globalen Modifikator.

<!DOCTYPE html> 
<html> 
<body> 



<p id="demo">hahahahaha</p> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() { 
    var str = document.getElementById("demo").innerHTML; 
    var res = str.replace(/ha/g, "ho"); 
    document.getElementById("demo").innerHTML = res; 
} 
</script> 

</body> 
</html> 
+0

Ich möchte einen Funktionsaufruf wie "alert (myReplace (" Hahaha "," a "," o ")) haben" -Wie muss ich diesen Code ändern: 'myReplace (" Hahaha "," a "," O"); Funktion myReplace (s2, removeIt, insertIt) { Warnung (s2.replace (neue RegExp (removeIt, 'g'), insertIt)); } ' – Heiko

+0

** Dies ist die Lösung: **' alert (myReplace ("Hahaha", "a", "o")); '' Funktion myReplace (s2, removeIt, insertIt) {'' s2.replace zurückgeben (neue RegExp (removeIt, 'g'), insertIt); ''} ' – Heiko