获取地址栏参数封装

作者: 孫仲谋 | 来源:发表于2017-11-15 23:40 被阅读0次
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"))//调用输出就好啦~

相关文章

网友评论

    本文标题:获取地址栏参数封装

    本文链接:https://www.haomeiwen.com/subject/kedkvxtx.html