encodeURI()、encodeURIComponent()区别及使用场景
1 区别
1.1 encodeURI()
encodeURI()
通常用于转码整个 URL,不会对URL 元字符以及语义字符进行转码,URL元字符:
URL 元字符:分号(
;
),逗号(,
),斜杠(/
),问号(?
),冒号(:
),at(@
),&
,等号(=
),加号(+
),美元符号($
),井号(#
)
语义字符:
a-z
,A-Z
,0-9
,连词号(-
),下划线(_
),点(.
),感叹号(!
),波浪线(~
),星号(*
),单引号('
),圆括号(()
)
1.2 encodeURIComponent()
encodeURIComponent()
通常只用于转码URL组成部分,如URL中?
后的一串;会转码除了语义字符之外的所有字符,即元字符也会被转码
注:若整个链接被encodeURIComponent()
转码,则该链接无法被浏览器访问,需要解码之后才可以正常访问。
2 使用场景
对于无特殊参数的链接,都可以使用encodeURI()
进行转码,那什么特殊情况需要用到encodeURIComponent()
呢?通常是链接带着一些特殊参数的时候,就比如以下链接:
https://www.baidu.com/s?returnURL=http://www.test.com/
链接内包含一个回调地址,回调地址是另外一个URL,此时我们就需要使用encodeURIComponent()
对回调地址进行转码,这样一来,URL中就不会出现多个http://
,多个&
这样的特殊字符;方便对回调地址进行处理;以上链接处理如下:
// 对URL中的回调链接进行转码
'https://www.baidu.com/s?returnURL=' +encodeURIComponent('http://www.test.com/')
//输出: "https://www.baidu.com/s?returnURL=http%3A%2F%2Fwww.test.com%2F"
参考博客:URL 编码与解码使用详解
encodeURI()、encodeURIComponent()区别及使用场景相关推荐
- encodeURI encodeURIComponent 的区别,和使用场景
encodeURI encodeURIComponent 的区别,和使用场景 一. ncodeURI 和 encodeURIComponent 之前一直不了解这两个的区别,现在知道了: encodeU ...
- escape()、encodeURI()、encodeURIComponent()区别详解
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...
转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...
- js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...
转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
JS 字符串编码函数(解决URL特殊字符传递问题):escape().encodeURI().encodeURIComponent()区别详解 参考文章: (1)JS 字符串编码函数(解决URL特殊字 ...
- escape()、encodeURI()、encodeURIComponent()区别
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- escape,encodeURI,encodeURIComponent有什么区别?
一.escape escape是对字符串进行编码,使得可以在所有的电脑上可读,但是encodeURI和encodeURIComponent是对URL进行编码的.escape和后两者几乎没关系. esc ...
- url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
转载地址:http://www.haorooms.com/post/js_escape_encodeURIComponent 引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器ur ...
- url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】
引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encode ...
最新文章
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- [lcm] Qualcomm平台的显示屏lcd驱动移植步骤
- SpringInAction--Spring Web应用之SpringMvc 注解配置
- mysql保留2位小数字段如何设置 浮点数
- 监听Activity的生命周期的方式。
- rancher安装和使用
- Cent OS yum 安装 Adobe flash player
- 美的集团:已耗资4.86亿元回购847.4万股
- java: 程序包org.springframework.boot不存在
- Shell 的基础知识
- Highsoft.Highcharts 5.0.6439.38401 key
- paip.DISCUZ道具开发指南-attilax总结-
- Acwing:最长回文子串
- Microsoft Office Visio 2007和Microsoft Office Project 2007下载
- 欧拉筛素数的应用-漂亮数
- 生化危机4重生 java_生化危机-绝密报告4
- (2021总结篇)面向对象软件设计模式--(八)结构型模式---树形结构的处理--组合模式
- 数模转换器ADC0832使用原理及控制程序
- 计算机控制面板 关机时间,怎么设置电脑的自动关机时间
- 程序员健康指南阅读笔记
热门文章
- 计算机专业实习怎么找?大厂付费内推实习证明有用吗?
- 偶尔颓废也是一种必要
- 升级换代老工业基地产业结构 加快沿海经济发展后劲儿
- Java枚举和C枚举的转换——JNI笔记
- 《PS/AI教程》我是如何实现让学员在两个月内高效掌握AI/PS的?
- 电子邮件加密和数字签名服务解决方案
- mysql+mdl+解决办法_Mysql DDL出现长时间等待MDL问题分析
- 用java实现的资源管理器
- Linux-chpasswd 修改用户密码
- python 日本老人_84岁日本奶奶自学编程,成苹果“最高龄程序员”