js通过 URL根据参数名获取参数值

//获取URL参数
function getParamValue(name){
var url = window.location.href;//url地址
var params = window.location.search;//url后拼接参数
var value = "";//根据参数名返回参数值
//防止参数名部分相同e.g. id,product_id,参数命名推荐使用驼峰规则
//statrtWith
var startIndex = params.indexOf('?' + name + '=')
//middle
var midIndex = params.indexOf('&' + name + '=')
console.log("startIndex:" + startIndex);
console.log("midIndex:" + midIndex);
if(startIndex==0){//?name=value
var nextAnd = params.indexOf("&", startIndex);
if(nextAnd==-1){
nextAnd = params.length;
}
value = params.substring(startIndex + (1 + name.length + 1),nextAnd);//1(?) + name.length + 1(=)
}else{//&name=value
var nextAnd = params.indexOf("&", midIndex + 1);//此处加1是过滤掉自身的&
console.log("nextAnd:" + nextAnd);
nextAnd = nextAnd==-1?params.length:nextAnd;//三元运算符
console.log("nextAnd:" + nextAnd);
value = params.substring(midIndex + (1 + name.length + 1),nextAnd);
}
return value;

}

测试html页面,地址栏访问以及传值

http://localhost:8080/property/manager/test.html?id=16&name=233&pass=6666&user_id=12

控制台打印参数值

js通过 URL根据参数名获取参数值

js通过 URL根据参数名获取参数值

控制台打印信息,取值成功