如何拆分URL参数字符串得到指定格式地址并兼容旧浏览器
兼容旧浏览器的URL参数拆分解决方案
实现思路
- 第一步移除字符串开头的
?前缀 - 第二步使用
decodeURIComponent解码URL编码字符(该方法ES1标准就已支持,兼容所有新旧浏览器) - 第三步按
-拆分字符串,最后用,拼接成目标格式
完整实现代码
const url = "?Point%20Cook-VIC-3030" // 移除开头的?,同时兼容没有?前缀的边界情况 const rawStr = url.startsWith('?') ? url.slice(1) : url // 解码%20这类URL编码字符 const decodedStr = decodeURIComponent(rawStr) // 拆分后拼接为目标格式 const result = decodedStr.split('-').join(', ') console.log(result) // 输出:Point Cook, VIC, 3030
兼容性说明
以上用到的所有API均支持IE5.5及以上版本的所有浏览器,完全满足旧版本兼容性要求。
内容的提问来源于stack exchange,提问作者EndlessLearning
相关产品推荐
相关产品推荐

