URL编码函数

  1. encodeURI(URIstring):把字符串当作URL进行编码,返回URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换,所有非(基本字符、Mark字符和保留字符)进行转义编码

    • 该方法不会对ASCII字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( ) 。
    • 该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
    • 如果 URI 组件中含有分隔符,比如”?”和 “#”,则应当使用encodeURIComponent()方法分别对各组件进行编码

    需要转义的字符都按照UTF-8编码转化成为一个、两个或者三个字节的十六进制转义字符(%xx)

  2. encodeURIComponent(URIstring):对于保留字符同样做转义编码

    • 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( ) 。
    • 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
    • encodeURIComponent() 函数将转义用于分隔URI各个部分的标点符号

测试结果:

http://www.baidu.com?p=UCAS&h=my%20name&pd=123#567 after:http://www.baidu.com?p=UCAS&h=myname&pd=123#567

http%3A%2F%2Fwww.baidu.com%3Fp%3DUCAS%26h%3Dmy%20name%26pd%3D123%23567after:http://www.baidu.com?p=UCAS&h=myname&pd=123#567

  1. encodeURI可以用来对完整的URI字符串进行编码处理。而encodeURIComponent可以对URI中一个部分进行编码,从而让这一部分可以包含一些URI保留字符
    • 保留字符(reservedcharacters):这类字符是URI中的保留关键字符,它们用于分割URI中的各个部分。这些字符是:”;” | “/” |”?” | “:” | “@” | “&” |”=” | “+” | “$” | “,”

Mark字符(mark characters):这类字符在RFC-2396中特别定义,但是没有特别说明用途,可能是和别的RFC标准相关。 这些字符是:”-” | “_” | “.” |”!” | “~” | “*” | “’” | “(” |”)”

基本字符(alphanumcharacters):这类字符是URI中的主体部分,它包括所有的大写字母、小写字母和数字

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值