最近在用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("#")));