在做网页的时候,偶尔会遇到url被截断的情况,一般是出现在有参数的url中,比如www.baidu.com?a=1&b=2,有时候就会出现url只传递了www.baidu.com?a=1后边的url被截断了,出现这种情况一般最有效的解决方案是把&符号用%26替换,这样www.baidu.com?a=1&b=2就变成了www.baidu.com?a=1%26b=2这是一种URL编码的方式。
- 以下是url中可能用到的特殊字符及在url中的经过编码后的值:
字符 | 特殊字符含义 | url编码 |
---|---|---|
# | 用来标志特定的文档位置 | % 23 |
% | 对特殊字符进行编码 | % 25 |
& | 分隔不同的变量值对 | % 26 |
+ | 在变量值中表示空格 | % 2B |
/ | 表示目录路径 | % 2F |
\ | 表示目录路径 | % 5C |
= | 用来连接键和值 | %3D |
? | 表示查询字符串的开始 | % 3F |
空格 | 空格 | % 20 |
. | 句号 | % 2E |
: | 冒号 | % 3A |
- 解决的方法:
replace() 方法如果直接用str.replace(“-“,”!”) 只会替换第一个匹配的字符.
而str.replace(/-/g,”!”)则可以替换掉全部匹配的字符(g为全局标志)。