js的url参数含特殊字符

一、遇到的问题

url拼接参数时,参数值带有"+"、"="等特殊字符,没有做特殊处理,导致传递后,获取的参数值不正确。

二、解决方法

调用encodeURIComponent()函数,处理含特殊字符的参数值。

三、encodeURIComponent()、encodeURI()、escape()对比

  • encodeURIComponent():针对URL,不处理ASCII字母 数字 ~!*()’,编码范围比encodeURI()大
  • encodeURI():针对URL,不处理ASCII字母 数字 ~!@#$&*()=:/,;?+’
  • escape():针对字符串,不适用于URL,不处理 ASCII字母 数字 @*/+ 这几个字符

四、特殊字符与编码的对应关系

字符含义编码
+空格%2B
/分隔目录和子目录%2F
空格%20
?分隔实际的URL和参数%3F
%指定特殊字符%25
#表示书签%23
&指定的参数间的分隔符%26
=用于指定参数的值%3D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值