var url = 'https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&ch=14&tn=78040160_19_pg&wd=js %&oq=js分割字符串&rsv_pq=86ef404600008be9&rsv_t=39569QNi7j0HSic6u9OkKzY/th25rzzEWmyQynjBHrVDjYsIC7T8IYrG9fKy5/w3+DPLwJ4&rqlang=cn&rsv_enter=1&inputT=946&rsv_sug3=17&rsv_sug1=19&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1612';
//这是我方便测试随便找的url(其实是忘了分割字符串的方法0.0)
function sun (url,sp) {//俩个参数分别是我要引入的网址,以及我要寻找的参数名
var arr1 = url.split("?");//这里以?为界限分割url
if(arr1[1]){//在这里判断url参数是否存在
var arr2 = arr1[1].split("&");//这里将分割出来?后面的参数再以&这个杀马特符号为界限分割成多个数组
var key = [];//存放参数名的容器
var value = [];//存放参数值的容器
for(var i = 0;i<arr2.length;i++){//循环刚刚以&分割出来的数组
var arr3 = arr2[i].split("=");//以=为界限分割
for(var j = 0;j<arr3.length;j++){//循环刚才以=为界限分割出来的数组
if(j%2==0){//判断取膜找到参数名
key.push(arr3[j])//放进容器里
}else if(j%2==1){//判断取膜找到参数值
value.push(arr3[j])//放进容器里
}
}
}
for(var k = 0;k<key.length;k++){//循环存放参数名的容器
if(key[k]==sp){//找到与所传的参数匹配的一项
return value[k]//将这个值返出来
}
}
}else{
return "没有参数"//没有参数
}
}
console.log(sun(url,"oq"))//调用输出就好啦~
网友评论