获取url中的参数

lzq.getQueryStr = function() {
    var qs = {};
    var url = decodeURIComponent(window.location.href);
    if (zkm.isredirect) { //如果有伪静态 就得分割出页面编号和编号
        if (url.indexOf('htm') > -1) {
            url = url.substring(url.indexOf('/', 7) + 1); //http:// 7位
            var paras = ["pageid", "id"];
            var prm = url.split('/');
            if (url.indexOf("_") > -1) {
                prm = url.split('_');
            }
            for (var p in prm) {
                var index = prm[p].split('.');
                if (/^\d+$/.test(index[0])) {
                    qs[paras[p]] = index[0];
                }
            }
        } else { //如果不是子页面 就只判断页面编号
            url = url.substring(url.indexOf('/', 7) + 1); //http:// 7位 
            var prm = url.split('/');
            if (/^\d+$/.test(prm[0])) {
                qs.pageid = prm[0];
            }
        }
    }
    //不管有没有伪静态 都看一下?问号后面的参数
    if (url.indexOf('?') > -1) {
        url = url.substring(url.indexOf('?') + 1);
        var prm = url.split('&');
        for (var p in prm) {
            if (prm[p]) {
                var sp = prm[p].split('=');
                if (sp.length > 1) {
                    var spkey = sp[0];
                    var spvalue = sp[1];

                    if (spvalue.indexOf('#') > -1) {
                        spvalue = spvalue.substring(0, spvalue.indexOf('#'));
                    }
                    qs[spkey] = spvalue;
                }
            }
        }
    }
    return qs;
};

//使用时


//例如https://i.cnblogs.com/EditPosts.aspx?opt=1


lzq.getQueryStr().opt//1

 

 

posted @ 2018-08-27 13:48  a权  阅读(736)  评论(0编辑  收藏  举报
Top