获取url参数
Posted 大黑ylx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取url参数相关的知识,希望对你有一定的参考价值。
题目描述
获取 url 中的参数
1. 指定参数名称,返回该参数的值 或者 空字符串
2. 不指定参数名称,返回全部的参数对象 或者 {}
3. 如果存在多个同名参数,则返回数组
1 function getUrlParam(sUrl, sKey) {
2 //去掉#后面的内容,即例子中的here;去掉?前面的地址,剩下的即为参数
3 var param = sUrl.split("#")[0].split("?")[1];
4 if(sKey){
5 var strs = param.split("&");//分隔每个参数
6 var arrs = new Array();//如果存在多个同名参数,则返回数组
7 for(var i = 0 , len = strs.length; i<len; i++){ //len保存strs数组的长度,因为strs将会被分割
8 var tmp = strs[i].split("="); //把每个strs[i]分割成参数和参数值
9 if(tmp[0] == sKey){ //若等于指定参数,则保存到数组
10 arrs.push(tmp[1]);
11 }
12 }
13 if(arrs.length == 1){ //指定参数名称,返回该参数的值 或者 空字符串
14 return arrs[0];
15 }
16 else if(arrs.length == 0){
17 return "";
18 }
19 else {
20 return arrs;
21 }
22 }
23 else { //不指定参数名称,返回全部的参数对象 或者 {}
24 if(param == undefined || param == ""){//url无参数列表
25 return {};//空对象
26 }
27 else {
28 var strs = param.split("&");
29 var arrObject = new Object();
30 for(var i = 0 , len = strs.length ; i< len ; i++){
31 var tmp = strs[i].split("=");
32 if(!(tmp[0] in arrObject)){//判断arrObject是否有这个属性
33 arrObject[tmp[0]]= [];//不在创建属性数组
34 }
35 arrObject[tmp[0]].push(tmp[1]);
36 }
37 return arrObject;
38 }
39 }
40 }
链接:https://www.nowcoder.com/questionTerminal/a3ded747e3884a3c86d09d88d1652e10
来源:牛客网
以上是关于获取url参数的主要内容,如果未能解决你的问题,请参考以下文章