獲取Url的代碼如下:window.location.href;
方法一:原生js(假設已經(jīng)獲得了Url地址)
varurl?='https://gitbook.cn/gitchat/geekbooks?tag=JavaScript&name=pwwu&age=24';
vartemp1?=?url.split('?');
varpram?=?temp1[1];
varkeyValue?=?pram.split('&');
varobj?=?{};
for(vari?=0;?i
varitem?=?keyValue[i].split('=');
varkey?=?item[0];
varvalue?=?item[1];
obj[key]?=?value;
}
console.log(url);
console.log(temp1);//??['https://gitbook.cn/gitchat/geekbooks','tag=JavaScript&name=pwwu&age=24']
console.log(pram);//??tag=JavaScript&name=pwwu&age=24
console.log(keyValue);//??['tag=JavaScript','name=pwwu','age=24']
console.log(obj);//??{tag:'JavaScript',name:'pwwu',age:'24'}
總結:主要思路就是將Url用split()分割成不同的塊,返回值為一個數(shù)組颤介,一直分割到為[‘tag=JavaScript’,‘name=pwwu’,‘a(chǎn)ge=24’]為止粒没,然后將該數(shù)組中的每一項以鍵值對的形式傳進一個空對象obj(這里需要遍歷數(shù)組),最后利用obj.name“點”的方式獲取相應參數(shù)妒穴。
方法二 URLSearchParams()函數(shù)(記不住函數(shù)名的可以直接在瀏覽器里面打印)
varurl2?='https://gitbook.cn/gitchat/geekbooks?tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22';
vartemp2?=?url2.split('?')[1];
varpram2?=newURLSearchParams('?'+temp2);
console.log(pram2.get('tag'));//?大數(shù)據(jù)
console.log(pram2.get('name'));//?gy
console.log(pram2.get('age'));//?22
console.log(temp2);//tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22
方法三 使用正則表達式
//獲取url中的參數(shù)方法
functiongetUrlParam(name){
//構造一個含有目標參數(shù)的正則表達式對象
varreg?=newRegExp("(^|&)"+?name?+"=([^&]*)(&|$)");
//匹配目標參數(shù)
varr?=window.location.search.substr(1).match(reg);
//返回參數(shù)
if(r?!=null)?{
returnunescape(r[2]);
}else{
returnnull;
}
}
varABC?=?getUrlParam();
console.log(ABC);
后續(xù)還有其他方法,暫時記得這么多鹦聪,想起來再回頭補他巨。充坑。。
如果你對編程感興趣或者想往編程方向發(fā)展染突,可以關注微信公眾號【筑夢編程】捻爷,大家一起交流討論!小編也會每天定時更新既有趣又有用的編程知識份企!