两种方法解决javascript url post 特殊字符转义 + & #

  作者:bea

最近在用url 传特殊字符的时候发现数据丢失了。 其实不是丢失,比如 ‘+'它会当成连接字符来处理了。 一、替换成16进制字符,在这列几个常用的转换 + 空格 / ? % & = # %2B %20 %2F %3F %25 %26 &3D %23 代码如下: var post
最近在用url 传特殊字符的时候发现数据丢失了。
其实不是丢失,比如 ‘+'它会当成连接字符来处理了。
一、替换成16进制字符,在这列几个常用的转换




+
空格
/
?
%
&
=
#


%2B
%20
%2F
%3F
%25
%26
&3D
%23






代码如下:


var post_Str = apply_name.replace(/+/g, "%2B");//"+"转义  
var post_Str= post_Str.replace(/&/g, "%26");//"&"
var post_Str= post_Str.replace(/#/g, "%23");//"#"


二、如果遇到了其他的特殊字符,可以用下面的方法看一下把它转成啥,直接按照上面的方法写一个就行了


代码如下:


alert(encodeURIComponent("-"));//转码,得到结果就OK了吧,下边是解码,这里是用不到的
alert(decodeURIComponent(encodeURIComponent("#")));




有用  |  无用

猜你喜欢