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

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

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

一、URI編碼解碼

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

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

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

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

語法:escape(value);

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

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

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

2、編解碼一個URI

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

encodeURI() 用于編碼整個URI,因為URI中的合法字符都不會被編碼轉(zhuǎn)換。

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

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

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

語法: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、編解碼一個URI組件

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

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

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

2、decodeURIComponent():解碼一個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)換器實現(xiàn)

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

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

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

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

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

相關文章

最新評論