Javascript URL中参数包含特殊字符的处理

本文介绍了如何处理URL中的特殊字符,包括使用JavaScript的replace方法进行替换及利用Java提供的escape、encodeURI和encodeURIComponent函数进行编码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了,例如%指定特殊字符,编码为%25 #表示书签,编码为%23 &表示参数间的分隔符,编码为%26,由两种方法解决:

1)可以用replace方法替换成编码

data2=data2.replace(/\%/g,"%25");

data2=data2.replace(/\#/g,"%23");

data2=data2.replace(/\&/g,"%26");

g表示全局匹配,即替换掉字符中所有的空格和换行,i表示忽略大小写,gi表示全局匹配并忽略大小写)

 

2java提供了对文字进行编码的3个函数:

escape

encodeURI

encodeURIComponent

主要用法有:

传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断,例如:url:'ViewBillers?outdata='+encodeURIComponent(outdata1),

进行url跳转时可以整体使用encodeURI

 

例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值