js特殊符号处理

        有些特殊符号在URL是不能直接传递的,所以之前一直是encodeURI 进行转义,而也没遇到什么问题,可能是之前所涉及到的特殊符号较少的原因吧,最近在项目中发现了一个问题,在url中参数值含有#号的数据会被莫名其妙的截断,第一反应就是看一下是否有使用转义方法encodeURI 。发现是有用,但却无效,查了资料后才知道,原来encodeURI 不是万能的,且js不止这个转义方法,其他方法以前也用过,只是习惯用encodeURI 。做下笔记,以免再次遗忘。

可以采用JS的编码方法: 

 1. escape - 采用ISO Latin字符集对指定的字符串进行编码。不会被此方法编码的字符: @ * / + 

 2. encodeURI - 把URI字符串采用UTF-8编码格式转化成escape格式的字符串不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

 3. encodeURIComponent - 把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! * ( ) '


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值