JavaScript解析url,返回參數對象
1. split()
split()的參數可以是正則表達式
var url = "www.meituan.com/waimai?name=zpj&counts=2&time=1506";
url.split(/[?&]/g) // 使用?&分割
.slice(1) // 去掉非參數信息
.map( d => d.split("=") ) // 分割參數對兒
.reduce( (a,c)=> {a[c[0]] = c[1]; return a},{}); // 降維成對象
2. replace()
replace()回調函數中可以調用捕獲組
var url = "www.meituan.com/waimai?name=zpj&counts=2&time=1506";
var params = {};
url.replace(/[\?|&](\w+)=(\w+)/g, (w, $1, $2)=>{params[$1]=$2; return w;});