最近在用url 傳遞特殊字元的時候發現資料遺失了。
其實不是遺失,像是 ‘+'它會當成連接字元來處理了。
一、替換成16進位字符,在這列幾個常用的轉換
+ |
空格 |
/ |
? |
% |
& |
= |
# |
%2B |
%20 |
%2F |
%3F |
%25 |
%26 |
&3D |
%23 |
var post_Str = apply_name.replace(/+/g, "%B/+/g, "%B ");//"+"轉義
var post_Str= post_Str.replace(/&/g, "%26");//"&"
var post_Str= post_Str.replace(/#/g, "%23");//"#"
二、如果遇到了其他的特殊字符,可以用下面的方法看一下把它轉成啥,直接按照上面的方法寫一個就行了
alert(encodeURIComponent("-"));//轉碼,得到結果就OK了吧,下邊是解碼,這裡是用不到的
alert(decodeURIComponent(encodeURIComponent("#")));