前端对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