前端對url中特殊字符(=、+、&、?等)的處理


Url中有些字符會引起歧義 : =、+、&、?、#等。

RFC3986文檔規定,Url中只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符以及所有保留字符( ! * ' ( ) ; : @ & = + $ , / ? # [ ] )。

Url可以划分成若干個組件,協議、主機、路徑等。

當保留字符以參數的形式出現在url中就會引起歧義,導致划分出錯,從而導致頁面出現bug

 

解決方案:

用特殊字符的編碼代替字符:

字符 在url中的含義 編碼
+ 表示空格  %2B
/ 分隔目錄和子目錄 %2F
空格   %20
? 分隔實際的 URL 和參數 %3F
% 指定特殊字符 %25
# 表示書簽 %23
& 指定的參數間的分隔符

%26

= 用於指定參數的值 %3D

 

 

    

 

 

 

 

 

 

 

 

 

舉個栗子:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM