`

js 获取链接地址中的参数

阅读更多

js 获取链接地址中的参数

比如,链接地址是:"http://blog.whuang.com/search?username=abc&age=26"

我要获取username参数的值"abc"

方式一:

核心方法

/**
     * 获取指定的参数值
     * @param url3
     * @param key
     * @returns {void|string|XML}
     */
    getParameter: function (url3, key) {
        var regExp = new RegExp('^.*[?&]' + key + '=([^&=?]*)&?.*$', '');
        var parameter = url3.replace(regExp, '$1');
        return parameter;
    }

 

测试代码:

var url3="http://blog.whuang.com/search?username=abc&age=26";


        console.log(urlUtil.getParameter(url3,'age'));

url3="http://blog.whuang.com/search?username=abc&age=26";
console.log(urlUtil. getParameter(url3,'username'));

url3="http://blog.whuang.com/search?username=abc&age=26&callback=http%3A%2F%2Fc.b.com%3Fid%3D3";
console.log(urlUtil.getParameter(url3,'callback'));

url3="http://blog.whuang.com/search?username=&age=26";
console.log(urlUtil.getParameter(url3,'username'));

 

 

方式二:使用第三方库purl

地址:https://github.com/allmarkedup/purl

范例:

this.options = {
        		username: purl().param('username') || '',
        		age: purl().param('age') || '',
                Key: '' 
        	};

 purl 代码见附件

 

方式三:

/***
 * get request query string
 * @returns {{}}
 */
getQueryParams: function () {
    var i, ilen, strs, keyName, keyValue,
        params = {},
        path = window.location.pathname,
        url = window.location.href;
    if (url.indexOf("?") > -1) {
        var index = url.indexOf("?");
        strs = url.substring(index + 1);
        strs = strs.split("&");
        ilen = strs.length;
        for (i = 0; i < ilen; i++) {
            var indexEqual = strs[i].indexOf('=');
            if (indexEqual == -1) {
                keyName = strs[i];
                keyValue = '';
            } else {
                keyName = strs[i].substring(0, indexEqual);
                keyValue = strs[i].substring(indexEqual + 1) || "";
            }

            if (keyName == "callback") keyValue = decodeURIComponent(keyValue);
            params[keyName] = keyValue;
        }
    }
    return params;
}

 调用方式:

getQueryParams().username

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics