Heim > Web-Frontend > js-Tutorial > Eingehende Analyse der Unterschiede und Beispiele der Fähigkeiten escape(), encodeURI(), encodeURIComponent()_javascript

Eingehende Analyse der Unterschiede und Beispiele der Fähigkeiten escape(), encodeURI(), encodeURIComponent()_javascript

WBOY
Freigeben: 2016-05-16 16:40:23
Original
1132 Leute haben es durchsucht

Es gibt drei Funktionen in JavaScript, die Zeichenfolgen kodieren können, nämlich: Escape, EncodeURI, EncodeURIComponent und die entsprechenden drei Dekodierungsfunktionen: Unescape, DecodeURI, DecodeURIComponent.

Das Folgende ist eine kurze Einführung in ihre Unterschiede:

1 escape()-Funktion

Definition und Verwendung

Die Funktion

escape() kodiert einen String, sodass dieser auf allen Computern gelesen werden kann.

Grammatik

escape(string)

Parameterbeschreibung

Zeichenfolge Erforderlich. Die Zeichenfolge, die maskiert oder codiert werden soll.

Rückgabewert

Eine Kopie der codierten Zeichenfolge. Einige dieser Zeichen werden durch hexadezimale Escape-Sequenzen ersetzt.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch die folgenden ASCII-Satzzeichen: - _ ~ * ' ( ) . Alle anderen Zeichen werden durch Escape-Sequenzen ersetzt.

2 encodeURI()-Funktion

Definition und Verwendung

Die Funktion encodeURI() kodiert einen String als URI.

Grammatik

encodeURI(URIstring)

Parameterbeschreibung

URIstring Erforderlich. Eine Zeichenfolge, die den URI oder anderen zu kodierenden Text enthält.

Rückgabewert

Eine Kopie des URIstrings, wobei einige Zeichen durch hexadezimale Escape-Sequenzen ersetzt wurden.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch diese ASCII-Satzzeichen: - _ ~ * ' ( ) .

Der Zweck dieser Methode besteht darin, den URI vollständig zu kodieren, sodass die Funktion encodeURI() die folgenden ASCII-Satzzeichen, die im URI eine besondere Bedeutung haben, nicht maskiert: ;/?:@&= $, #

3 encodeURIComponent()-Funktion

Definition und Verwendung

Die Funktion encodeURIComponent() kodiert einen String als URI-Komponente.

Grammatik

encodeURIComponent(URIstring)

Parameterbeschreibung

URIstring Erforderlich. Eine Zeichenfolge, die URI-Komponenten oder anderen zu kodierenden Text enthält.

Rückgabewert

Eine Kopie des URIstrings, wobei einige Zeichen durch hexadezimale Escape-Sequenzen ersetzt wurden.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch diese ASCII-Satzzeichen: - _ ~ * ' ( ) .

Andere Zeichen (z. B. :;/?:@&= $,#, bei denen es sich um Satzzeichen zur Trennung von URI-Komponenten handelt) werden durch eine oder mehrere hexadezimale Escape-Sequenzen ersetzt.

Tipps und Hinweise

Tipp: Bitte beachten Sie, dass sich die Funktion encodeURIComponent() von der Funktion encodeURI() dadurch unterscheidet, dass erstere davon ausgeht, dass ihre Argumente Teil eines URI sind (z. B. Protokoll, Hostname, Pfad oder Abfragezeichenfolge). Die Funktion encodeURIComponent() entgeht daher den Satzzeichen, die zum Trennen von Teilen des URI verwendet werden.

4 Zusammenfassung:

Durch die Analyse der drei Funktionen können wir wissen, dass escape() alle eingehenden Zeichenfolgen außer ASCII-Buchstaben, Zahlen und bestimmten Symbolen maskiert. Wenn Sie die URL codieren möchten, ist es daher am besten, dies nicht zu verwenden Verfahren. Und encodeURI() wird zum Codieren des gesamten URI verwendet, da die zulässigen Zeichen im URI nicht codiert und konvertiert werden. Die encodeURIComponent-Methode sollte am häufigsten zum Codieren einer einzelnen URIComponent verwendet werden (bezogen auf Anforderungsparameter). Sie kann chinesische Zeichen und Sonderzeichen in den Parametern maskieren, ohne die gesamte URL zu beeinträchtigen.

5 Beispiel:

1 Escape()

<script type="text/javascript">
document.write(escape("http://www.w3school.com.cn/") + "<br />")
document.write(escape("&#63;!=()#%&"))
</script>
Nach dem Login kopieren

Ausgabe:

http%3A//www.w3school.com.cn

%3F%21%3D%28%29%23%25%26

Nach dem Login kopieren

2 encodeURI()

<script type="text/javascript">
document.write(encodeURI("http://www.w3school.com.cn/")+ "<br />")
document.write(encodeURI("http://www.w3school.com.cn/My first/"))
document.write(encodeURI(",/&#63;:@&=+$#"))
</script>
Nach dem Login kopieren

Ausgabe:

http://www.w3school.com.cn/

http://www.w3school.com.cn/My%20first/

,/&#63;:@&=+$#

Nach dem Login kopieren

Kodiert die gesamte URL, während URL-spezifische Kennungen nicht transkodiert werden.

3 encodeURIComponent()

Beispiel 1:

<script type="text/javascript">
document.write(encodeURIComponent("http://www.w3school.com.cn/"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/&#63;:@&=+$#"))
</script>
Nach dem Login kopieren

Ausgabe:

http%3A%2F%2Fwww.w3school.com.cn

http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F

%2C%2F%3F%3A%40%26%3D%2B%24%23

Nach dem Login kopieren

Beispiel 2:

<script language="javascript">document.write('
<a href="http://passport.baidu.com/&#63;logout&aid=7&u='+encodeURIComponent(" rel="external nofollow" http://cang.baidu.com/bruce42")+'">退出</a>');</script>
Nach dem Login kopieren

Kodieren Sie die Parameter in der URL, da die Parameter auch eine URL sind. Wenn sie nicht kodiert sind, wirkt sich dies auf den Sprung der gesamten URL aus.

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