URL轉碼escape() encodeURI() encodeURIComponent()
阿新 • • 發佈:2018-12-27
js對文字進行編碼涉及3個函式:escape,encodeURI,encodeURIComponent,相應3個解碼函式:unescape,decodeURI,decodeURIComponent
1.傳遞引數時需要使用encodeURIComponent ,這樣組合的url才不會被#等特殊字元截斷。
例如:
url:'/supervisorManage/supervisorInfoManage/dispatchSupervisorInfo.action?mode=add&supervisorName='+ encodeURIComponent('監管人員') +'&population.populationType='+$("#_populationType_").val();
2、 encodeURI 著眼於對整個URL進行編碼 ,進行url跳轉時可以整體使用encodeURI
例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 escape()不能直接用於URL編碼,它的真正作用是返回一個字元的Unicode編碼值
對 String 物件編碼以便它們能在所有計算機上可讀,
escape(charString)
必選項charstring引數是要編碼的任意String物件或文字。
說明
escape方法返回一個包含了charstring內容的字串值(Unicode格式)。所有空格、標點、重音符號以
及 其他非ASCII字元都用%xx編碼代替,其中xx等於表示該字元的十六進位制數。例如,空格返回的是 "%20 " 。
字元值大於255的以%uxxxx格式儲存。
注意 :escape方法不能夠用來對統一資源標示碼(URI)進行編碼。對其編碼應使用encodeURI和encodeURIComponent 方法。
最多使用的應為encodeURIComponent,它是將中文、韓文等特殊字元轉換成utf-8格式的url編碼,所以如果給後臺傳遞引數需要使用encodeURIComponent時需要後臺解碼對utf-8支援(form中的編碼方式和當前頁面編碼方式相同)
escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不編碼字元有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
1.傳遞引數時需要使用encodeURIComponent ,這樣組合的url才不會被#等特殊字元截斷。
例如:
url:'/supervisorManage/supervisorInfoManage/dispatchSupervisorInfo.action?mode=add&supervisorName='+ encodeURIComponent('監管人員') +'&population.populationType='+$("#_populationType_").val();
2、 encodeURI 著眼於對整個URL進行編碼 ,進行url跳轉時可以整體使用encodeURI
例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 escape()不能直接用於URL編碼,它的真正作用是返回一個字元的Unicode編碼值
對 String 物件編碼以便它們能在所有計算機上可讀,
escape(charString)
必選項charstring引數是要編碼的任意String物件或文字。
說明
escape方法返回一個包含了charstring內容的字串值(Unicode格式)。所有空格、標點、重音符號以
及 其他非ASCII字元都用%xx編碼代替,其中xx等於表示該字元的十六進位制數。例如,空格返回的是 "%20 " 。
字元值大於255的以%uxxxx格式儲存。
注意 :escape方法不能夠用來對統一資源標示碼(URI)進行編碼。對其編碼應使用encodeURI和encodeURIComponent 方法。
最多使用的應為encodeURIComponent,它是將中文、韓文等特殊字元轉換成utf-8格式的url編碼,所以如果給後臺傳遞引數需要使用encodeURIComponent時需要後臺解碼對utf-8支援(form中的編碼方式和當前頁面編碼方式相同)
escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不編碼字元有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z