定义和用法

unescape() 与 escape()

unescape() 函数可对通过 escape() 编码的字符串进行解码。

语法
 unescape(string)
参数 描述
string 必需。要解码或反转义的字符串
返回值

string 被解码后的一个副本。

说明

该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码

提示和注释

注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

实例

在本例中,我们将使用 escape() 来编码字符串,然后使用 unescape() 对其解码

    <script type="text/javascript">var test1="Visit W3School!"test1=escape(test1)document.write (test1 + "<br />")test1=unescape(test1)document.write(test1 + "<br />")</script>

输出

  Visit%20W3School%21Visit W3School!

decodeURI()与decodeURIComponent()

  • 定义和用法

  • decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。

    decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。

    从W3C的定义和用法来看,两者没有什么区别,但是两者的参数是有区别的:

decodeURI(URIstring) //URIstring 一个字符串,含有要解码的 URI 或其他要解码的文本。

decodeURIComponent(URIstring) //URIstring 一个字符串,含有编码 URI
组件或其他要解码的文本。

2.使用中区别用法
区别:encodeURIComponent和decodeURIComponent可以编码和解码URI特殊字符(如#,/,¥等),而decodeURI则不能

encodeURIComponent('#')
"%23"
decodeURI('%23')
"%23"
decodeURIComponent('%23')
"#"
encodeURI('#')
"#"

可以看出encodeURI和decodeURI对URI的特殊字符是没有编码和解码能力的,实际项目中我们一般需要get请求的方式在地址栏中拼接一些参数,但是参数中如果出现#,/,&这些字符,就必须要用decodeURIComponent了,不然这些特殊字符会导致我们接收参数的错误

假如我们要传一个code字段到http://www.xxx.com,值为20180711#abc

var codeVal = encodeURI('20180711#abc');
var url = 'http://www.xxx.com?code=' + codeVal;
console.log(url);
http://www.xxx.com?code=20180711#abc

http://www.xxx.com接收参数

location.search  //"?code=20180711";
decodeURI("?code=20180711")  //"?c

这时候我们拿到的code参数明显是错误的,被特殊字符#截断了,下面我们来看用decodeURIComponent方法:

var codeVal = encodeURIComponent('20180711#abc');
var url = 'http://www.baidu.com?code=' + codeVal;
url;
"http://www.baidu.com?code=20180711%23abc"

http://www.xxx.com接收参数

location.search  //"?code=20180711%23abc"
decodeURIComponent("?code=20180711%23abc")  //"?code=20180711#abc"

JavaScript unescape() 函数相关推荐

  1. js unescape 对应php的函数,php实现Javascript的escape和unescape函数

    由于需要用到php调用js文件,在网上找了相关的资料,并改写了相关的方法. php实现 Javascript的escape函数方法: function escape($str) { preg_matc ...

  2. JavaScript unescape()与escape() 函数介绍

    unescape() 函数可对通过 escape() 编码的字符串进行解码. unescape()是通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode ...

  3. html escape函数,Javascript escape() 函数和unescape() 函数

    一.escape函数 escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读. 语法: escape(charString) 说明: charString是必选参数,表示要进行 ...

  4. JavaScript全局函数

    1.decodeURI()  参数:string 功能描述:对 encodeURI() 函数编码过的 URI 进行解码. 实例: 可把 http://www.cnblogs.com/My%20firs ...

  5. JavaScript 常用函数总结

    javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert ...

  6. JavaScript 常用函数

    javascript函数一共可分为五类:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数  1.常规函数  javascript常规函数包括以下9个函数:  (1)alert函 ...

  7. JavaScript常用函数总结

    原文地址在我的博客, 转载请注明出处,谢谢! 概述 本文总结了JavaScript常用函数,这些函数包括Array常用函数以及String常用函数 JavaScript原生函数 Array常用函数 i ...

  8. html字符串长度函数,最常用的20个javascript方法函数

    最常用的20个javascript方法函数 常用的`javascript方法函数有哪些?下面YJBYS小编为你盘点,废话不说,直接放码! 1字符串长度截取 function cutstr(str, l ...

  9. escape()和unescape()函数的使用方法

    (一).示例图片效果 (二).代码 <html> <head> <title>escape()和unescape()函数的使用方法</title> &l ...

最新文章

  1. 火狐浏览器中添加httprequest的方法
  2. C#中如何将光标定位在某个控件中?
  3. java swing 页面布局方式_javaswing酷炫界面
  4. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button的command/Label/PhotoImage/封装为类)
  5. mysql 经纬度距离 自定义函数_mysql 经纬度计算距离 自定义函数
  6. UITableView UITableDataSource UITableViewDelegate的基本方法和属性
  7. Sass函数-数字函数-floor()函数
  8. java 扑克牌排序_java 怎么写compareto方法实现扑克牌排序
  9. Project Euler 001-006 解法总结
  10. ubuntu 下安装和配置selenium
  11. php分享十七:http状态码
  12. Laravel 数据库配置
  13. 创建简单的静态库和动态库
  14. WEBPACK+ES6+REACT入门(4/7)-评论列表DEMO以及CSS样式
  15. 花样机模板电脑CAD免费打板转格式软件PS300B使用步骤教程:日本兄弟牌Brother花样机通用CAD画图打板.dxf文件转.emb文件
  16. php 后台数据 u,Yunucms代码审计:后台XSS和数据库信息泄露
  17. java多线程聊天室_JAVA多线程网络聊天室代码
  18. python生成泊松分布随机数_python-介绍泊松分布(poisson分布)
  19. 云数据库与云服务器有什么区别?
  20. 解决移动端滑动方向相反

热门文章

  1. 【Python】turtle小海龟画兔子
  2. Centos7校正Linux系统时间(超详细)
  3. 【区块链】数字货币-CCCX
  4. 高阶自动驾驶量产之战,小鹏汽车NGP究竟有何优势?
  5. 低代码平台|aPaaS平台构建分析
  6. [附源码]java毕业设计党建工作信息管理系统
  7. python 五角星代码
  8. HCIA学习笔记#1
  9. Verilog数字系统设计——4 选1 多路选择器
  10. Bron–Kerbosch算法求一般图最大团/最大独立集