1

example.com/?id[]=15029&id[]=18711&foo=bar#MyTab に似た URL があります

URL内のすべてのIDを取得したい

var str = window.location.search;
var result = {};
str.replace(/([^?=&]+)(?:[&#]|=([^&#]*))/g, function (match, key, value) {
    result[key] = value || 1;
});
result;

上記のコードは、最後の id パラメータのみを返します。

配列内のすべての ID を取得するように改善するにはどうすればよいですか?

4

1 に答える 1

0

とった

function getUrlParam (paramName) {
    var str = window.location.search;
    var result = {};
    str.replace(/([^?=&]+)(?:[&#]|=([^&#]*))/g, function (match, key, value) {
        if (key.indexOf("[]") !== -1) {
            key = key.replace(/\[\]$/, "");
            if(!(result[key])) {
                result[key] = new Array();
            }
            result[key].push(value);
        } else {
            result[key] = value || 1;
        }
    });

    if(result[paramName]){
        return result[paramName];
    } else {
        return '';
    }
};
getUrlParam('id')
于 2012-12-13T05:06:24.137 に答える