0

以下のURLハッシュから「source」パラメータと「group」パラメータを読み取ろうとしています。正規表現を使用して、変数が空白になってしまう方法がわかりません。

以下のURLハッシュから「ソース」および「グループ」パラメータを読み取るにはどうすればよいですか

    console.log(urlObj.hash); // #source-items?source=1002&?group=Menu
    var source = urlObj.hash.replace( /.*source=/, "");
4

2 に答える 2

0

?アフターを削除すると、次の&ようなものを使用できます。

function parseParams() {
    var params = window.location.hash.split('?')[1].split('&').map(function(item) {
        return item.split('=');
    });
    var namedparams = {};

    for (i=-1; param = params[++i]; ) {
        namedparams[param[0]] = param[1];
    }

    return namedparams;
}

この関数の使用方法は次のとおりです。

var params = parseParams();
params.group; // the group parameter
params.source; // the source parameter
于 2012-07-20T10:25:36.157 に答える
0

試す

function getParameterByName(urlString, name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(urlString);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

そして、これを呼び出すgetParameterByName(urlObj.hash, "source");

更新:これは、JavaScript でクエリ文字列値を取得するための回答のわずかに変更されたバージョンです。

于 2012-07-20T10:21:23.633 に答える