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

方法一:正則替換
var str = str.replace(/\+/g, "%2B"); //"+" 轉義 var str = str.replace(/\&/g, "%26"); //"&" 轉義 var str = str.replace(/\#/g, "%23"); //"#" 轉義
方法二:encodeURIComponent(str) 方法 (推薦)
let str = 'NBA+'; str = encodeURIComponent(str); console.log(str) // NBA%2B
- 當然,可以兩者結合,再你不知道該特殊字符的轉義的時候,可以使用
encodeURIComponent()來得到,就像你不知道鍵盤某鍵的keyCode一樣 - 另外,
decodeURIComponent()是解碼,decodeURIComponent(encodeURIComponent("+")) === '+', true
到此這篇關于js前端URL含有特殊字符的轉碼的實現(xiàn)的文章就介紹到這了,更多相關js URL特殊字符轉碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
實例解析package.json和最常見的scripts字段
日常開發(fā)中,現(xiàn)在的前端開發(fā)已經被三大框架取代,其中最主流的不過vue和react,而開發(fā)這些項目的時候不得不接觸package.json這個文件,可你真的了解這個文件嗎?今天給大家聊聊package.json和最常見的scripts字段,感興趣的朋友一起看看吧2023-04-04

