欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript使用escape()、encodeURI()和decodeURI()實(shí)現(xiàn)URI編碼解碼

 更新時(shí)間:2022年05月31日 10:42:42   作者:springsnow  
這篇文章介紹了JavaScript使用escape()、encodeURI()和decodeURI()實(shí)現(xiàn)URI編碼解碼的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、URI編碼解碼

1、編解碼一個(gè)字符串(淘汰)

ECMAScript v3 反對(duì)使用該方法,應(yīng)使用 decodeURI() 和 decodeURIComponent() 替代它。

1、escape():編碼一個(gè)字符串

escape()除了 ASCII 字母、數(shù)字和特定的符號(hào)外,對(duì)傳進(jìn)來(lái)的字符串全部進(jìn)行轉(zhuǎn)義編碼。

語(yǔ)法:escape(value);

var str = "javascript 你好";
var str1 = escape(str);
document.write(str1);  //輸出:javascript%20%u4F60%u597D

2、unecape():解碼一個(gè)由escape()函數(shù)編碼的字符串

var str = "javascript 你好";
var str1 = escape(str);
document.write(str1); //javascript%20%u4F60%u597D
var str2 = unescape(str1);
alert(str2); //彈出 javascript你好

2、編解碼一個(gè)URI

1、encodeURI():轉(zhuǎn)義一個(gè)URI中的字符

encodeURI() 用于編碼整個(gè)URI,因?yàn)閁RI中的合法字符都不會(huì)被編碼轉(zhuǎn)換。

語(yǔ)法:encodeURI(uri) 這個(gè)在編碼不同的AJAX請(qǐng)求時(shí),解決中文亂碼問題經(jīng)常用到。

var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2);   //輸出:%E4%BD%A0%E5%A5%BDjavascript

2、decodeURI():解碼一個(gè)URI中的字符

語(yǔ)法:decodeURI(uri)

var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2);   //輸出:%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURI(str2);
document.write("
" + str3)  //輸出:你好javascript

3、編解碼一個(gè)URI組件

1、encodeURIComponent():轉(zhuǎn)義URI組件中的字符

encodeURIComponent方法在編碼單個(gè)URIComponent(指請(qǐng)求參數(shù))應(yīng)當(dāng)是最常用的,它可以講參數(shù)中的中文、特殊字符進(jìn)行轉(zhuǎn)義,而不會(huì)影響整個(gè)URL。

var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2);   //輸出:%E4%BD%A0%E5%A5%BDjavascript

2、decodeURIComponent():解碼一個(gè)URI組件中的字符

var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2);   //輸出:%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURIComponent(str2);
document.write("
" + str3)  //輸出:你好javascript

二、html編碼解碼

1、html編碼解碼函數(shù)

編碼函數(shù):

function htmlEncode(str) {  
         var s = "";  
         if (str.length == 0) return "";  
         s = str.replace(/&/g, "&");  
         s = s.replace(/</g, "&lt;");  
         s = s.replace(/>/g, "&gt;");    
         s = s.replace(/'/g, "&apos;");  
         s = s.replace(/"/g, "&quot;");  
         return s;  
    }  ;

解碼函數(shù):

function htmlDecode(str){     
        var s = "";     
        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, "\"");   
        return s;     
    }

2、用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)

1.實(shí)現(xiàn)html轉(zhuǎn)碼

htmlEncode:function (html){
    //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV
    var temp = document.createElement ("div");
    //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerText(ie支持)或者textContent(火狐,google支持)
    (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);
    //3.最后返回這個(gè)元素的innerHTML,即得到經(jīng)過(guò)HTML編碼轉(zhuǎn)換的字符串了
    var output = temp.innerHTML;
    temp = null;
    return output;
 }

2、實(shí)現(xiàn)html解碼

htmlDecode:function (text){
     //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV
     var temp = document.createElement("div");
     //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerHTML(ie,火狐,google都支持)
     temp.innerHTML = text;
     //3.最后返回這個(gè)元素的innerText(ie支持)或者textContent(火狐,google支持),即得到經(jīng)過(guò)HTML解碼的字符串了。
    var output = temp.innerText || temp.textContent;
     temp = null;
     return output;
 },

到此這篇關(guān)于JavaScript實(shí)現(xiàn)URI編碼解碼的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論