js前端URL含有特殊字符的轉(zhuǎn)碼的實(shí)現(xiàn)
有些符號(hào)在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號(hào),那么就要使用他們的編碼了。下表中列出了一些URL特殊符號(hào)及編碼
十六進(jìn)制值
1. + URL 中+號(hào)表示空格 %2B
2. 空格 URL中的空格可以用+號(hào)或者編碼 %20
3. / 分隔目錄和子目錄 %2F
4. ? 分隔實(shí)際的 URL 和參數(shù) %3F
5. % 指定特殊字符 %25
6. # 表示書(shū)簽 %23
7. & URL 中指定的參數(shù)間的分隔符 %26
8. = URL 中指定參數(shù)的值 %3D
問(wèn)題:url 傳有特殊字符出現(xiàn)丟失,因?yàn)樘厥庾址麜?huì)被特殊處理
方法一:正則替換
var str = str.replace(/\+/g, "%2B"); //"+" 轉(zhuǎn)義 var str = str.replace(/\&/g, "%26"); //"&" 轉(zhuǎn)義 var str = str.replace(/\#/g, "%23"); //"#" 轉(zhuǎn)義
方法二:encodeURIComponent(str)
方法 (推薦)
let str = 'NBA+'; str = encodeURIComponent(str); console.log(str) // NBA%2B
- 當(dāng)然,可以兩者結(jié)合,再你不知道該特殊字符的轉(zhuǎn)義的時(shí)候,可以使用
encodeURIComponent()
來(lái)得到,就像你不知道鍵盤(pán)某鍵的keyCode一樣 - 另外,
decodeURIComponent()
是解碼,decodeURIComponent(encodeURIComponent("+")) === '+'
, true
到此這篇關(guān)于js前端URL含有特殊字符的轉(zhuǎn)碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)js URL特殊字符轉(zhuǎn)碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS彈性運(yùn)動(dòng)實(shí)現(xiàn)方法分析
這篇文章主要介紹了JS彈性運(yùn)動(dòng)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了JS實(shí)現(xiàn)彈性運(yùn)動(dòng)的原理、相關(guān)技術(shù)細(xì)節(jié)與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-12-12如何在?xHTML?中驗(yàn)證?noscript+meta?refresh?標(biāo)簽
這篇文章主要介紹了如何在?xHTML?中驗(yàn)證?noscript+meta?refresh?標(biāo)簽,需要的朋友可以參考下2023-03-03關(guān)于JavaScript數(shù)組你所不知道的3件事
這篇文章主要為大家詳細(xì)介紹了關(guān)于JavaScript數(shù)組三個(gè)并不那么常見(jiàn)的功能,你所不知道的事情,感興趣的小伙伴們可以參考一下2016-08-08JS實(shí)現(xiàn)仿QQ面板的手風(fēng)琴效果折疊菜單代碼
這篇文章主要介紹了JS實(shí)現(xiàn)仿QQ面板的手風(fēng)琴效果折疊菜單代碼,涉及JavaScript基于鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09純js實(shí)現(xiàn)動(dòng)態(tài)時(shí)間顯示
這篇文章主要為大家詳細(xì)介紹了純js實(shí)現(xiàn)動(dòng)態(tài)時(shí)間顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06JS實(shí)現(xiàn)仿百度文庫(kù)評(píng)分功能
本文給大家分享基于js實(shí)現(xiàn)仿百度文庫(kù)評(píng)分功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-01-01File, FileReader 和 Ajax 文件上傳實(shí)例分析(php)
File, FileReader 和 Ajax 文件上傳實(shí)例分析(php),需要的朋友可以參考下。2011-04-04