javascript之url轉義escape()、encodeURI()和decodeURI()

  咱們能夠知道:escape()除了 ASCII 字母、數字和特定的符號外,對傳進來的字符串所有進行轉義編碼,所以若是想對URL編碼,最好不要使用此方法。而encodeURI() 用於編碼整個URI,由於URI中的合法字符都不會被編碼轉換。encodeURIComponent方法在編碼單個URIComponent(指請求參數)應當是最經常使用的,它能夠講參數中的中文、特殊字符進行轉義,而不會影響整個URL。javascript

  請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(好比協議、主機名、路徑或查詢字符串)。所以 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號。java

1、encodeURI()  //轉義一個URI中的字符函數

  語法:encodeURI(uri)  //這個在編碼不一樣的AJAX請求時,解決中文亂碼問題常常用到。編碼

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

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

  語法:decodeURI(uri)blog

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

3、encodeURIComponent()  //轉義URI組件中的字符ip

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

4、decodeURIComponent()  //解碼一個URI組件中的字符字符串

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

 5、escape()  //編碼一個字符串it

  語法:escape(value);io

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

 6、unecape()  //解碼一個由escape()函數編碼的字符串

        window.onload = function () {
            var str = "javascript 你好";
            var str1 = escape(str);
            document.write(str1); //javascript%20%u4F60%u597D
            var str2 = unescape(str1);
            alert(str2);      //彈出 javascript你好
        }
相關文章
相關標籤/搜索