トップページ >  JavaScript >  GETパラメータを取得する
初版2013/02/21: 最終更新日2013/02/21
  GETパラメータを取得する
目次
GETパラメータを取得する
GETパラメータを連想配列に格納する
GETパラメータを取得する
JavaScriptで現在のページのGETパラメータを取得することができます。
GETパラメータを取得するにはwindow.location.searchを使用します。



以下、ソースです。

<script language="JavaScript">
<!--
function a(){
    alert(window.location.search);
}
// -->
</script>

GETパラメータを連想配列に格納する
GETパラメータを取得したら、そのままでは単なる文字列なので、分解して連想配列に格納してみます。
連想配列については、配列の宣言を参照ください。

window.location.searchだと?から取得するのでまず、?以降の文字列だけを取得します。
window.location.search.substring(1)とすると、2文字目以降が取得できます。
2文字目以降はパラメータごとに&ごとに区切られているのでwindow.location.search.substring(1).split("&qmp;")とすると、戻り値として配列が返されます。

function getParam(){
    var arr = window.location.search.substring(1).split("&");
    alert(arr.length);
    for(var i=0;i<arr.length;i++){
        alert(arr[i]);
    }
}

上記関数を実行すると、「キー=値」というパラメータが取得できます。
以下のボタンを押すと上記関数を実行します。



次に、「「キー=値」をわけて、キーを連想配列のキーにして、値をそのキーの値にしたいとします。
これもfor分の入れ子にして、「=」でsplitします。その戻り値は配列となります。
以下は、連想配列を返す関数です。

<script language="JavaScript">
<!--
function getParam2(){
    var getArr = new Array();
    var arr = window.location.search.substring(1).split("&");
    for(var i=0;i<arr.length;i++){
        arr2 = arr[i].split("=");
        for(var j=0;j<arr2.length;j++){
            getArr[arr2[0]] = arr2[1];
            alert(arr2[j]);
        }
    }
    return getArr;
}
// -->
</script>

以下のボタンを押すと上記関数を実行します。



ちゃんと関数として使用するにはalertの行はコメントにしてください。