我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

一、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, "&");  
         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编码解码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用golang中的json.NewDecoder和json.NewEncoder函数实现JSON的流式编码和解码

使用golang中的json.NewDecoder和json.NewEncoder函数实现JSON的流式编码和解码JSON是一种轻量级数据交换格式,由于其易于阅读和编写,因此广泛应用于Web应用程序和现代化的API。在golang中,我们可
使用golang中的json.NewDecoder和json.NewEncoder函数实现JSON的流式编码和解码
2023-11-17

codemirror6实现在线代码编辑器使用详解

这篇文章主要为大家介绍了codemirror6实现在线代码编辑器使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-08

Python使用email模块对邮件进行编码和解码的实例教程

解码邮件 python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用。 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件:Received: from 192
2022-06-04

C++ 函数继承详解:如何使用继承实现代码解耦和模块化?

函数继承是一种 c++++ 机制,可通过派生新函数从基类覆盖函数,实现代码解耦和模块化。好处包括:代码解耦:分离基类和派生类的代码。模块化:将功能分解为单个模块,提高可重用性。可扩展性:在不修改原有代码的情况下添加新功能。代码重用:可在子类
C++ 函数继承详解:如何使用继承实现代码解耦和模块化?
2024-05-03

使用Python编写并实现一个具备人工智能的聊天机器人(包含代码和步骤)

聊天机器人是一种人工智能,它通过应用程序或消息来模拟与用户的对话。本文我们将使用Pytho的chatterbot库来实现聊天机器人。该库生成对用户输入的自动响应。响应基于库中实现的机器学习算法。机器学习算法使聊天机器人在收集用户响应时更容
使用Python编写并实现一个具备人工智能的聊天机器人(包含代码和步骤)
2024-01-22

编程热搜

目录