• ベストアンサー

javascriptでのURLの引数

CGIとかなしにおいてjavascriptで、URLの引数を参照できるのですか? 例えば、test.html?id=aaa&point=100において、 idとpointの値を参照したいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nak777r
  • ベストアンサー率36% (49/136)
回答No.2

<html> <body > <SCRIPT LANGUAGE="JAVASCRIPT"> <!-- var aMsg = ""; // aURL= "http://~/test.html?id=aaa&point=100 // の ?id=aaa&point=100 を取得 var aURL = location.search; // URL を ? で分割 var aSplit1 = aURL.split("?"); if( aSplit1.length > 1 ){ // URL を &で分割 var aSplit2 = aSplit1[1].split("&"); var i; var iMax = aSplit2.length; // &で分割した物を = で分割 for( i = 0; i< iMax; i++ ){ aSplit3 = aSplit2[i].split("="); aMsg += "[" + aSplit3[0] + "] = " + aSplit3[1] + "<br>"; } } document.write( aMsg ); //--> </SCRIPT> </body> </html>

その他の回答 (3)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.4

location.searchで?以降を取得できますので後は適当に解析すれば使えます。 //URLを解析してargというオブジェクトに格納 var arg = new Object; var pair=location.search.substring(1).split('&'); for(i=0;pair[i];i++) { var kv = pair[i].split('='); arg[kv[0]]=kv[1]; } //プロパティとして扱えます。 alert(arg["id"]); alert(arg.point); for(var x in arg){ alert(x+'::'+arg[x]); }

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

yambejp氏に加えて、 文字列 '?id=aaa&point=100' は     location.search で得られます。このとき、'id=aaa&point=100'は     location.search.substring(1) で得られるので ------------------------------------------------------ var varstr = location.search.substring(1); ------------------------------------------------------ と書くことも出来ます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ご自身で評価するスクリプトを書いてあげればいかがでしょうか? <script> var url="test.html?id=aaa&point=100" var varstr=url.match(/\?(.*)$/)[1]; var array=varstr.split("&"); for(var i=0;i<array.length;i++){ var key=array[i].match(/^(.*)=/)[1]; var val=array[i].match(/=(.*)$/)[1]; document.write(key+"は"+val+"です<br>") } </script> ただし、エンコードされたデータをデコードしたりするのはそれなりに 面倒ですが。