JavaScript verwendet escape(), encodeURI() und decodeURI(), um die URI-Kodierung und -Dekodierung zu implementieren

In diesem Artikel wird erläutert, wie JavaScript escape(), encodeURI() und decodeURI() verwendet, um die URI-Kodierung und -Dekodierung zu implementieren. Der Artikel stellt dies ausführlich anhand von Beispielcode vor. Es hat einen gewissen Referenzwert für das Studium oder die Arbeit jedes Einzelnen. Freunde in Not können sich darauf beziehen.

Inhaltsverzeichnis

1. URI-Kodierung und -Dekodierung

1. Eine Zeichenfolge kodieren und dekodieren (Eliminierung)

Diese Methode ist von ECMAScript v3 veraltet und stattdessen sollten decodeURI() und decodeURIComponent() verwendet werden.

1. escape(): Codieren Sie eine Zeichenfolge

escape() maskiert alle eingehenden Zeichenfolgen außer ASCII-Buchstaben, Zahlen und bestimmten Symbolen.

Syntax: escape(value);

1

2

3

varstr = "Javascript Hallo";

varstr1 = escape(str);

document.write(str1); //Ausgabe: javascript%20%u4F60%u597D

2. unecape(): Dekodieren Sie eine mit der Funktion escape() kodierte Zeichenfolge

1

2

3

4

5

varstr = "Javascript Hallo";

varstr1 = escape(str);

document.write(str1); //javascript%20%u4F60%u597D

varstr2 = unescape(str1);

Alert(str2); //Popup-Javascript Hallo

2. Kodieren und dekodieren Sie einen URI

1. encodeURI(): Escape-Zeichen in einem URI

encodeURI() wird zum Codieren des gesamten URI verwendet, da die zulässigen Zeichen im URI nicht codiert werden.

Syntax: encodeURI(uri) Dies wird häufig verwendet, um das Problem verstümmelter chinesischer Zeichen beim Codieren verschiedener AJAX-Anfragen zu lösen.

1

2

3

varstr1 = "Hallo Javascript";

varstr2 = encodeURI(str1);

document.write(str2); //Ausgabe: %E4%BD%A0%E5%A5%BDjavascript

2. decodeURI(): Zeichen in einem URI dekodieren

Sprache: decodeURI(uri)

1

2

3

4

5

6

varstr1 = "Hallo Javascript";

varstr2 = encodeURI(str1);

document.write(str2); //Ausgabe: %E4%BD%A0%E5%A5%BDjavascript

varstr3 = decodeURI(str2);

document.write("

"+ str3) //Ausgabe: Hallo Javascript

3. Kodieren und dekodieren Sie eine URI-Komponente

1. encodeURIComponent(): Escape-Zeichen in URI-Komponenten

Die encodeURIComponent-Methode sollte am häufigsten verwendet werden, wenn eine einzelne URIComponent codiert wird (bezogen auf Anforderungsparameter). Sie kann chinesische Zeichen und Sonderzeichen in den Parametern maskieren, ohne die gesamte URL zu beeinträchtigen.

1

2

3

varstr1 = "Hallo Javascript";

varstr2 = encodeURIComponent(str1);

document.write(str2); //Ausgabe: %E4%BD%A0%E5%A5%BDjavascript

2. decodeURIComponent(): Zeichen in einer URI-Komponente dekodieren

1

2

3

4

5

6

varstr1 = "Hallo Javascript";

varstr2 = encodeURIComponent(str1);

document.write(str2); //Ausgabe: %E4%BD%A0%E5%A5%BDjavascript

varstr3 = decodeURIComponent(str2);

document.write("

"+ str3) //Ausgabe: Hallo Javascript

2. HTML-Kodierung und -Dekodierung

1. HTML-Kodierungs- und Dekodierungsfunktion

Kodierungsfunktion:

1

2

3

4

5

6

7

8

9

10

functionhtmlEncode(str) {

vars = "";

if(str.length == 0) return"";

s = str.replace(/&/g, "&");

s = s.replace(/</g, "<");

s = s.replace(/>/g, ">");

s = s.replace(/'/g, "'");

s = s.replace(/"/g, """);

kehrt zurück;

} ;

解码函数:

1

2

3

4

5

6

7

8

9

10

functionhtmlDecode(str){

vars = "";

if(str.length == 0) return"";

s = str.replace(/&amp;/g, "&");

s = s.replace(/&lt;/g, "<");

s = s.replace(/&gt;/g, ">");

s = s.replace(/&apos;/g, "'");

s = s.replace(/&quot;/g, "\"");

returns;

}

2、用浏览器内部转换器实现

1.实现html转码

1

2

3

4

5

6

7

8

9

10

htmlEncode:function(html){

//1.首先动态创建一个容器标签元素,如DIV

vartemp = document.createElement ("div");

//2.然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(火狐,google支持)

(temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);

//3.最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了

varoutput = temp.innerHTML;

temp = null;

returnoutput;

}

2、实现html解码

1

2

3

4

5

6

7

8

9

10

htmlDecode:function(text){

//1.首先动态创建一个容器标签元素,如DIV

vartemp = document.createElement("div");

//2.然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持)

temp.innerHTML = text;

//3.最后返回这个元素的innerText(ie支持)或者textContent(火狐,google支持),即得到经过HTML解码的字符串了。

varoutput = temp.innerText || temp.textContent;

temp = null;

returnoutput;

},

本文转载自: https://www.jb51.net/article/249984.htm

常用在线小工具


CSS代码工具

JavaScript代码格式化工具

在线XML格式化/压缩工具

php代码在线格式化美化工具

sql代码在线格式化美化工具

在线HTML转义/反转义工具

在线JSON代码检验/检验/美化/格式化

JavaScript正则在线测试工具

在线生成二维码工具(加强版)

Guess you like

Origin blog.csdn.net/weixin_43883849/article/details/129235445