js編碼之encodeURIComponent使用介紹(asp,php)
更新時(shí)間:2012年03月01日 15:39:25 作者:
因此對(duì)于JS腳本又重新研究了一下。在對(duì)新的URL編碼的時(shí)候發(fā)現(xiàn),網(wǎng)頁(yè)編碼的格式對(duì)于JS的影響很大,在這里書(shū)寫一點(diǎn)
因?yàn)橐伦飨到y(tǒng),因此對(duì)于JS腳本又重新研究了一下。在對(duì)新的URL編碼的時(shí)候發(fā)現(xiàn),網(wǎng)頁(yè)編碼的格式對(duì)于JS的影響很大,在這里書(shū)寫一點(diǎn)。
{var B=siteUrl+this.actionUrl+(this.type==="all"?"":this.type)+"&SearchWord="+encodeURIComponent(A).replace(/'/g,"%27");$redirect(B)}}
在制作的時(shí)候,發(fā)現(xiàn)傳出去的數(shù)據(jù)包的編碼全部是UTF-8格式的,而在改正網(wǎng)頁(yè)編碼后也同樣沒(méi)有反映,最后在修改了ENCODE成DECODE方式才解決問(wèn)題。
js 對(duì)文字進(jìn)行編碼涉及3個(gè)函數(shù):escape,encodeURI,encodeURIComponent,相應(yīng)3個(gè)解碼函數(shù):unescape,decodeURI,decodeURIComponent
1、 傳遞參數(shù)時(shí)需要使用encodeURIComponent,這樣組合的url才不會(huì)被#等特殊字符截?cái)唷?
例如:
2、 進(jìn)行url跳轉(zhuǎn)時(shí)可以整體使用encodeURI
例如:Location.href="/encodeURI"("http://www.dbjr.com.cn/s?word=百度&ct=21");
3、 js使用數(shù)據(jù)時(shí)可以使用escape
例如:搜藏中history紀(jì)錄。
4、 escape對(duì)0-255以外的unicode值進(jìn)行編碼時(shí)輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結(jié)果相同。
最多使用的應(yīng)為encodeURIComponent,它是將中文、韓文等特殊字符轉(zhuǎn)換成utf-8格式的url編碼,所以如果給后臺(tái)傳遞參數(shù)需要使用encodeURIComponent時(shí)需要后臺(tái)解碼對(duì)utf-8支持(form中的編碼方式和當(dāng)前頁(yè)面編碼方式相同)
escape不編碼字符有69個(gè):*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不編碼字符有82個(gè):!,#,$,&,\',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不編碼字符有71個(gè):!, \',(,),*,-,.,_,~,0-9,a-z,A-Z
{var B=siteUrl+this.actionUrl+(this.type==="all"?"":this.type)+"&SearchWord="+encodeURIComponent(A).replace(/'/g,"%27");$redirect(B)}}
在制作的時(shí)候,發(fā)現(xiàn)傳出去的數(shù)據(jù)包的編碼全部是UTF-8格式的,而在改正網(wǎng)頁(yè)編碼后也同樣沒(méi)有反映,最后在修改了ENCODE成DECODE方式才解決問(wèn)題。
js 對(duì)文字進(jìn)行編碼涉及3個(gè)函數(shù):escape,encodeURI,encodeURIComponent,相應(yīng)3個(gè)解碼函數(shù):unescape,decodeURI,decodeURIComponent
1、 傳遞參數(shù)時(shí)需要使用encodeURIComponent,這樣組合的url才不會(huì)被#等特殊字符截?cái)唷?
例如:
2、 進(jìn)行url跳轉(zhuǎn)時(shí)可以整體使用encodeURI
例如:Location.href="/encodeURI"("http://www.dbjr.com.cn/s?word=百度&ct=21");
3、 js使用數(shù)據(jù)時(shí)可以使用escape
例如:搜藏中history紀(jì)錄。
4、 escape對(duì)0-255以外的unicode值進(jìn)行編碼時(shí)輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結(jié)果相同。
最多使用的應(yīng)為encodeURIComponent,它是將中文、韓文等特殊字符轉(zhuǎn)換成utf-8格式的url編碼,所以如果給后臺(tái)傳遞參數(shù)需要使用encodeURIComponent時(shí)需要后臺(tái)解碼對(duì)utf-8支持(form中的編碼方式和當(dāng)前頁(yè)面編碼方式相同)
escape不編碼字符有69個(gè):*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不編碼字符有82個(gè):!,#,$,&,\',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不編碼字符有71個(gè):!, \',(,),*,-,.,_,~,0-9,a-z,A-Z
您可能感興趣的文章:
- JavaScript使用escape()、encodeURI()和decodeURI()實(shí)現(xiàn)URI編碼解碼
- js中編碼函數(shù):escape,encodeURI與encodeURIComponent詳解
- js 轉(zhuǎn)義字符及URI編碼詳解
- js中字符串編碼函數(shù)escape()、encodeURI()、encodeURIComponent()區(qū)別詳解
- 從此不再懼怕URI編碼 JavaScript及C# URI編碼詳解
- Javascript下的urlencode編碼解碼方法附decodeURIComponent
- JS中三種URI編碼方式對(duì)比分析
相關(guān)文章
JavaScript獲取數(shù)據(jù)類型的方法詳解
這篇文章給大家介紹了JavaScript獲取數(shù)據(jù)類型的方法,文中所介紹的所有知識(shí)點(diǎn)、代碼示例以及提供的解決方案,均不考慮?IE?瀏覽器,僅支持最新版本的?Chrome、Firefox、Edge?和?Safari?瀏覽器,需要的朋友可以參考下2024-02-02js調(diào)用webservice中的方法實(shí)現(xiàn)思路及代碼
js調(diào)用webservice還算是一個(gè)比較實(shí)用的功能,本文提供了實(shí)現(xiàn)思路及代碼,感興趣的你可不要錯(cuò)過(guò)了哈,希望本文可以幫助到你啊2013-02-02js字母大小寫轉(zhuǎn)換實(shí)現(xiàn)方法總結(jié)
本文是對(duì)js中字母大小寫轉(zhuǎn)換的實(shí)現(xiàn)方法進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11JS?中數(shù)組的增刪改查和對(duì)象的增刪改查實(shí)例詳解
這篇文章主要介紹了JS?中數(shù)組的增刪改查和對(duì)象的增刪改查實(shí)例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07JavaScript常見(jiàn)的跨標(biāo)簽頁(yè)通信方式總結(jié)
跨標(biāo)簽頁(yè)通信是指在瀏覽器中的不同標(biāo)簽頁(yè)之間進(jìn)行數(shù)據(jù)傳遞和通信的過(guò)程,這篇文章為大家整理了前端常見(jiàn)的跨標(biāo)簽頁(yè)通信方式,有需要的小伙伴可以了解下2023-10-10javascript iframe中打開(kāi)文件,并檢測(cè)iframe存在否
從iframe中打開(kāi)文件,并檢測(cè)iframe存在否如果說(shuō)只是檢測(cè)頁(yè)面存在否,直接設(shè)置target用偽協(xié)議就可以解決了...2008-12-12JavaScript+Canvas模擬實(shí)現(xiàn)支付寶畫(huà)年兔游戲
接近過(guò)年了,支付寶的集福的活動(dòng)又開(kāi)始了,集美們的五福集齊了沒(méi)有。每年的集?;顒?dòng)都有一些小游戲,今年也不例外,畫(huà)年畫(huà)就是其中之一,本篇用canvas來(lái)寫一個(gè)畫(huà)年兔的游戲2023-01-01