JavaScript使用escape()、encodeURI()和decodeURI()实现URI编码解码

JavaScript使用escape()、encodeURI()和decodeURI()实现URI编码解码

目录

一、URI编码解码

1、编解码一个字符串(淘汰)

2、编解码一个URI

3、编解码一个URI组件

二、html编码解码

1、html编码解码函数

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

一、URI编码解码 1、编解码一个字符串(淘汰)

ECMAScript v3 反对使用该方法,应使用 decodeURI() 和 decodeURIComponent() 替代它。

1、escape():编码一个字符串

escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码。

语法:escape(value);

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

2、unecape():解码一个由escape()函数编码的字符串

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():转义一个URI中的字符

encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。

语法:encodeURI(uri) 这个在编码不同的AJAX请求时,解决中文乱码问题经常用到。

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():转义URI组件中的字符

encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个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编码解码函数

编码函数:

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

解码函数:

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、用浏览器内部转换器实现

1.实现html转码

htmlEncode:function (html){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement ("div"); //2.然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(火狐,google支持) (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html); //3.最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了 var output = temp.innerHTML; temp = null; return output; }

2、实现html解码

htmlDecode:function (text){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement("div"); //2.然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持) temp.innerHTML = text; //3.最后返回这个元素的innerText(ie支持)或者textContent(火狐,google支持),即得到经过HTML解码的字符串了。 var output = temp.innerText || temp.textContent; temp = null; return output; },

到此这篇关于JavaScript实现URI编码解码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    新一代的Office代替Web浏览器

    新一代的Office代替Web浏览器,,如果你用Office来取代网络浏览器,一定会有很多读者感到难以置信,在客户端安装Web浏览器就足够了,不管是因特网

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    字符库快捷键|字符串快捷键

    字符库快捷键|字符串快捷键,,1. 字符串快捷键1、单行注释单行注释是 #Mac的快捷键是 command+/windows的快捷键是 Ctrl + /2、多行注

    Chrome浏览器中文名字叫酷音量浏览器

    Chrome浏览器中文名字叫酷音量浏览器,,现在我们可以看到,在2012,很多次出现在Chrome相关页面中。这就是所谓的酷浏览器。今天,谷歌发布了一个

    微软质疑火狐浏览器的下载量。

    微软质疑火狐浏览器的下载量。,,目前,国外媒体报道Amy Barzdukas,微软的IE浏览器业务总经理(Amy Barzdukas),怀疑Mozilla宣称Firefox浏览器的数