获取地址栏参数,支持传中文参数

function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg); // 匹配目标参数
    if (r != null)
        return decodeURIComponent(r[2]);
    return null; // 返回参数值
}    

1、substr(start,length) 方法可在字符串中抽取从 start 下标开始的指定数目的字符,start必须,length可选,可接负的参数,表示从字符串尾部算起。

2、substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符,不包含stop处的字符,start必须,stop可选,不接受负的参数。

3、slice(start,end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分,可接负的参数。

3、window.location.search是从当前URL的?号开始的字符串,如:search就是?tid=22720。
4、match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回值存放匹配结果的数组,该数组的内容依赖于 regexp 是否具有全局标志 g

 

将url参数解析成对象

function getParams() {
    var url = location.search; //获取url中"?"符后的字串 
    var obj= {};
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
        }
    }
    return obj;
}

 

function getParams(){
    var obj = {};
    var keyvalue = [];
    var key = "",value = "";
    var url=window.location.href;
    var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
    for (var i in paraString) {
        keyvalue = paraString[i].split("=");
        key = keyvalue[0];
        value = keyvalue[1];
        obj[key] = value;
    }
    return obj;
}            

  

posted @ 2017-09-04 15:55  小鱼鱼儿  阅读(761)  评论(0编辑  收藏  举报