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(/&/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/'/g, "'"); s = s.replace(/"/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