前提知识:只有 0-9[a-Z] $ - _ . + ! * ’ ( ) , 以及某些保留字,才能不经过编码直接用于 URL。中文字符等会被转码

1 escape 和 unescape

对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。
escape编码,unescape解码

例子:
编码
escape(‘http://www.baidu.com?name=zhang@xiao@jie&order=1’)
结果:“http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1”

编码
escape(‘张’)
结果:"%u5F20"

编码
unescape(“http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1”)
结果:“http://www.baidu.com?name=zhang@xiao@jie&order=1”

编码
unescape("%u5F20")
结果:“张”

2、encodeURI 和 decodeURI

返回编码为有效的统一资源标识符 (URI) 的字符串,不会被编码的字符:! @ # $ & * ( ) = : / ; ? + ’
encodeURI()是Javascript中真正用来对URL编码的函数。
例子:
编码:
encodeURI(‘http://www.baidu.com?name=zhang@xiao@jie&order=1’)
结果:“http://www.baidu.com?name=zhang@xiao@jie&order=1”

解码:
decodeURI(“http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1”)
结果:“http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1”

3、encodeURIComponent 和 decodeURIComponent

原理:对URL的组成部分进行个别编码,而不用于对整个URL进行编码
例子:
编码:encodeURIComponent(‘http://www.baidu.com?name=zhang@xiao@jie&order=1’)
结果:“http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1”
解码:decodeURIComponent(“http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1”)
结果:“http://www.baidu.com?name=zhang@xiao@jie&order=1”

【前端实用工具集】js对url进行编码和解码的三种方式相关推荐

  1. JS对url进行编码和解码(三种方式区别)

    Javascript语言用于编码的函数,一共有三个,最古老的一个就是escape().虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起. escape 和 ...

  2. linux url解码,js对url进行编码和解码(三种方式区别)

    *** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. ***例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码 ...

  3. js uri解码_js对url进行编码和解码(三种方式区别)(转)

    *** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. ***例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码 ...

  4. git工具 将源码clone到本地指定目录的三种方式

    git工具 将源码clone到本地指定目录的三种方式 CreationTime--2018年7月27日15点34分 Author:Marydon 1.情景展示 运行git-bash.exe,输入命令: ...

  5. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理...

    动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" ...

  6. java qlv转mp4 代码_Java实用工具类五:URL转码、解码类

    package com.cn.hnust.util; import java.io.UnsupportedEncodingException; import java.util.HashMap; im ...

  7. Java实用工具类五:URL转码、解码类

    此文仅对自己工作中用到的类进行总结,方便以后的使用. package com.cn.hnust.util;import java.io.UnsupportedEncodingException; im ...

  8. js 对url进行编码和解码

    三种编码和解码函数: encodeURI和 decodeURI 它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号"; / ? : @ & = ...

  9. js对url进行编码解码(三种方式)

    方法 说明 返回值 escape(String) 使用转义序列替换某些字符来对字符串进行编码,除了ASCII字母.数字.标点符号"@ * _ + - . /"以外 返回Unicod ...

  10. JS 关于 URL 的编码或解码方法

    URL的合法字符 URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种: URL元字符:分号(;),逗号(','),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加 ...

最新文章

  1. 2022-2028年中国服装电商行业发展战略规划及投资方向研究报告
  2. 01 手把手带你构建大规模分布式服务--高并发、高可用架构系列,高质量原创好文!...
  3. java jni key_JNIKeyProtection
  4. ABAP:为Table Control创建Context Menu
  5. 剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue)
  6. OpenCV中基本数据结构(3)_Size
  7. 一名靠谱的JavaScript程序员应备的素质
  8. 如何给一个文件重命名?
  9. sublime text3 python找不到文件路径_如何在sublime3 项目设置中设置 python 解释器的路径?...
  10. 人生是什么?——感悟1:勇于承担自己的选择才是真正的勇气
  11. HPC:鱼与熊掌可以兼得
  12. 如何快速高效的群发Email
  13. SQL语句练习题(壹)
  14. Step4:从单应矩阵中分离得到内参和外参(需要拍摄n=3张标定图片)
  15. Cisco2960交换机密码破解方法
  16. 没学历没经验没外语没技能,啥都没有靠啥找工作?
  17. 计组3——加/减法器构造
  18. 使用EasyExcel导出图片及异常处理
  19. 【树莓派】系统刷机教程
  20. AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(八)

热门文章

  1. 计算机考研408每日一题 day158
  2. 计算机office高级应用都考啥,office高级应用考什么 评分标准是什么
  3. 抠图算法(交互式)以及证件照的自动抠图
  4. 接口测试流程及常见问答
  5. 二叉树叶子结点个数统计
  6. camera(二) DVP接口
  7. 三点估算与类比估算_通过将东西塞进盒子来估算
  8. vyos as a firewall
  9. 设计师提高效率必备的10大在线工具
  10. 图神经网络 图像处理,神经网络图像修复