Heim > Web-Frontend > js-Tutorial > Hauptteil

js verwendet reguläre Ausdrücke, um die Javascript-Fähigkeiten der ReplacementAll-Ersetzungsmethode zu implementieren

WBOY
Freigeben: 2016-05-16 16:39:05
Original
2347 Leute haben es durchsucht

JS-Strings haben die Methode replace(). Diese Methode ersetzt jedoch nur die erste übereinstimmende Zeichenfolge. Zum Beispiel:

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<script>
var str = "wordwordwordword";
var strNew = str.replace("word","Excel");
alert(strNew);
</script>
</BODY>
</HTML>
Nach dem Login kopieren

Wenn Sie alle ersetzen möchten, bietet JS keine Methode wie replaceAll. Der Effekt von Ersetzen kann mithilfe regulärer Tabellen erreicht werden:

str.replace(/word/g,"Excel")
Nach dem Login kopieren

g bedeutet: Führen Sie eine globale Übereinstimmung durch (finden Sie alle Übereinstimmungen, anstatt anzuhalten, nachdem die erste Übereinstimmung gefunden wurde).

<HEAD>
<TITLE> New Document </TITLE>
<script>
function replaceAll(str)
{
if(str!=null)
str = str.replace(/word/g,"Excel")
return str;
}
</script>
</HEAD>

<BODY>
<script>
var str = "wordwordwordword";
var strNew = str.replace("word","Excel");
strNew = replaceAll(str);
alert(strNew);
</script>
</BODY>
</HTML>

Nach dem Login kopieren

Die obige Schreibmethode hat eine ähnliche Schreibmethode:

str.replace(new RegExp("word","gm"),"Excel")
Nach dem Login kopieren

g führt eine globale Übereinstimmung durch (findet alle Übereinstimmungen statt anzuhalten, nachdem die erste Übereinstimmung gefunden wurde).

m führt einen mehrzeiligen Abgleich durch.

Darüber hinaus können Sie auch die Prototypmethode des Stirng-Objekts hinzufügen:

String.prototype.replaceAll = function(s1,s2){ 
return this.replace(new RegExp(s1,"gm"),s2); 
}
Nach dem Login kopieren


Auf diese Weise können Sie replaceAll genauso verwenden wie die Ersetzungsmethode

str.replaceAll("word","Excel");
Nach dem Login kopieren

Zusammenfassend gibt es drei Möglichkeiten

1. str.replace(/oldString/g,newString)

2. str.replace(new RegExp(oldString,"gm"),newString)

3. String-Objekt-Prototypmethode replaceAll hinzufügen

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage