js前端URL含有特殊字符的轉(zhuǎn)碼的實(shí)現(xiàn)
有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那么就要使用他們的編碼了。下表中列出了一些URL特殊符號及編碼
十六進(jìn)制值
1. + URL 中+號表示空格 %2B
2. 空格 URL中的空格可以用+號或者編碼 %20
3. / 分隔目錄和子目錄 %2F
4. ? 分隔實(shí)際的 URL 和參數(shù) %3F
5. % 指定特殊字符 %25
6. # 表示書簽 %23
7. & URL 中指定的參數(shù)間的分隔符 %26
8. = URL 中指定參數(shù)的值 %3D
問題:url 傳有特殊字符出現(xiàn)丟失,因?yàn)樘厥庾址麜惶厥馓幚?/p>

方法一:正則替換
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()來得到,就像你不知道鍵盤某鍵的keyCode一樣 - 另外,
decodeURIComponent()是解碼,decodeURIComponent(encodeURIComponent("+")) === '+', true
到此這篇關(guān)于js前端URL含有特殊字符的轉(zhuǎn)碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)js URL特殊字符轉(zhuǎn)碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
純js代碼制作的網(wǎng)頁時(shí)鐘特效【附實(shí)例】
下面小編就為大家?guī)硪黄僯s代碼制作的網(wǎng)頁時(shí)鐘特效【附實(shí)例】。小編覺得聽錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-03-03
js指定步長實(shí)現(xiàn)單方向勻速運(yùn)動(dòng)
這篇文章主要為大家詳細(xì)介紹了js指定步長實(shí)現(xiàn)單方向勻速運(yùn)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
實(shí)例解析package.json和最常見的scripts字段
日常開發(fā)中,現(xiàn)在的前端開發(fā)已經(jīng)被三大框架取代,其中最主流的不過vue和react,而開發(fā)這些項(xiàng)目的時(shí)候不得不接觸package.json這個(gè)文件,可你真的了解這個(gè)文件嗎?今天給大家聊聊package.json和最常見的scripts字段,感興趣的朋友一起看看吧2023-04-04

