需求
- 這也算是一個比較常見的面試題相寇,方法有很多很多钮科,我喜歡簡單易理解的绵脯。
- 只能針對常見的參數(shù),如果參數(shù)值里面帶了特殊符號“&”就會失效植兰。當(dāng)然這只是特殊情況。
- 思路就是根據(jù)?切割url為兩部分畜挨,取后面的繼續(xù)以&切割成參數(shù)數(shù)組噩凹,然后循環(huán)數(shù)組的每一項(xiàng)根據(jù)=號繼續(xù)切割,前半部分就是參數(shù)名逮刨,對應(yīng)上方法傳的參數(shù)名就把后半部分返回修己。沒有就返回false迎罗。
var url = 'https://qq.com?appid=1234567890&name=Zdf';
// 第一個參數(shù)是完整的url纹安,第二個參數(shù)是要獲取的參數(shù)名。
function getQueryVariable(url,variable)
{
var query = url.split("?")[1]; // 根據(jù)“?”切割數(shù)組光督,截取“?”之后的字符串
// ['https://qq.com','appid=1234567890&name=Zdf']
var vars = query.split("&"); // 根據(jù)“&”切割成數(shù)組
// ['appid=1234567890','name=Zdf']
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
// ['appid','1234567890']
if(pair[0] == variable) return pair[1]; // 沒有花括號默認(rèn)執(zhí)行第一個js語句
}
return(false);
}
var appid = getQueryVariable(url, 'appid');
console.log(appid);
var name = getQueryVariable(url, 'name');
console.log(name);
// 1234567890
// Zdf