問題:
今天遇到一個問題:頁面帶有"+"號的數據,傳到服務端接口,結果+號變成了空格。例如:傳“1+1”變成了"1 1"。
解決辦法:
方案一:
將“+”號替換成“%2B”;
例如:
string name="a+b";
name = name.replace('+','%2B');
可能會有多個+號的情況,比如:“a+++b+”
while(name.IndexOf('+')>0){ name = name.replace('+','%2B'); }
這樣就可以解決+號被轉化成空格的問題;但是這樣看起來並不太好看,效率也不是很高,那就看看第二種方法
方案二:
string name = "a+b"; name = encodeURIComponent(name);
encodeURIComponent()函數大家可以看一下:
注意:encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z