zoukankan      html  css  js  c++  java
  • JS 关于 URL 的编码或解码方法

    URL的合法字符

    URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种:

    1. URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)
    2. 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(()`)

    当输入的字符不符合以上的字符时,浏览器就会把该字符转义,规则:根据操作系统的默认编码,将每个字节转为百分号(%)加上两个大写的十六进制字母。
    比如:当再浏览器地址栏中输入www.baidu.com/q=你好时,会被转义成例如www.baidu.com/q=%E6%98%A5%E8%8A%82类似的字符串,浏览器才会读取。

    JavaScript的四个URL编码/解码方法:

    encodeURI

    将元字符和语义字符之外的字符都进行转义,一般用于知道该URL只用于完整的URL时使用

    encodeURIComponent

    将除了语义字符之外的字符进行转义,包括元字符,因此,它的参数通常是URL的路径或参数值,而不是整个URL。
    比如说,要在谷歌中搜索www.baidu.com/q=5&name时,若使用encodeURI,&字符并不会被转义,从而改变其真正的URL。

    decodeURI

    还原转义后的URL,是encodeURI方法的逆运算。

    decodeURIComponent(此方法可以还原被转义的 url)

    还原转义后的URL片段。是encodeURIComponent方法的逆运算。

  • 相关阅读:
    使用Vue组件写table选项卡
    Vue父子之间的值传递
    前端常用插件网站
    如何使用requireJs模块化开发
    gulp压缩html,css,js文件流程、监听任务、使用gulp创建服务器、同时运行多个任务、反向代理
    jQuery实现吃鱼游戏
    jQuery实现打飞机游戏
    jQuery实现瀑布流布局
    jQuery实现拖拽元素
    jQuery对象与原生js对象之间的转换
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/10374226.html
Copyright © 2011-2022 走看看