美文网首页
获取url中的参数

获取url中的参数

作者: 赵碧菡 | 来源:发表于2017-09-06 16:01 被阅读0次

    获取 url 中的参数

    1. 指定参数名称,返回该参数的值 或者 空字符串
    2. 不指定参数名称,返回全部的参数对象 或者 {}
    3. 如果存在多个同名参数,则返回数组
    function getUrlParam(sUrl, sKey) {
        var obj = {};
        var index = sUrl.indexOf('?');
        //url没有带参数
        if(index==-1) {
            if(sKey==undefined){
                return obj;
            }else{
                return "";
            }
        }
         
        var queryString = (sUrl.split("?")[1]).split("#")[0];
        var query = queryString.split('&');//分离出了所有参数
         
        for(var i=0;i<query.length;i++){
            var keyValue = query[i].split("=");
            var key = keyValue[0];
            var value = keyValue[1];
            //console.log('key: '+key+" value: "+value);
            if(value ==""){
                continue;//value值为空,进行下一次循环?为空就不进行统计了?
            }
            if(obj.hasOwnProperty(key)){//hasOwnProperty()函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。如果有,返回true,否则返回false。
                if(Array.isArray(obj[key])){//判断是不是数组
                    obj[key].push(value);
                }else{//不是数组
                    var val = obj[key];
                    obj[key] = [];
                    obj[key].push(val);
                    obj[key].push(value);
                }
      
            }else{//有新参数,直接添加
                obj[key]=value;
            }
      
        }
        //console.log(obj)
        //1.指定参数名的,返回该参数的值或空
        if(sKey){
            return obj[sKey]?obj[sKey]:"";
        }else{
            return obj;
      
        }
      
    }
    
    
    

    相关文章

      网友评论

          本文标题:获取url中的参数

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