javascriptでurlのクエリーの中身を知る方法を教えてください。


具体的に言うと、
http://maps.google.co.jp/maps?f=q&hl=ja&q=%E5%85%AD%E6%9C%AC%E6%9C%A8&ie=UTF8&om=1&z=16&ll=35.662439,139.731073&spn=0.011454,0.027122&iwloc=addr
のURLから、
ll
z
の値を抽出したいです。

さらに言うと、
llx=35.662439
lly=139.731073
z=16
みたいにとりたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/01/14 22:50:42
  • 終了:2007/01/21 22:55:04

回答(2件)

id:susie-t No.1

susie-t回答回数99ベストアンサー獲得回数182007/01/15 00:36:58

ポイント35pt

以下でどうでしょう。基本的にはlocation.searchでURLの?以降が取れるのでそれを加工すればOKかと。

※もし「&」となっていたら「&」に置き換えてください。(なぜかプレビューではそうなっているので・・・)

<html>
<head>
<title></title>
<script>
<!--
var q = location.search.replace(/^\?/, '');
var ll = q.match(/ll=([^,]*),([^&amp;]*)&amp;/);
var llx = ll[1];
var lly = ll[2];
var z = q.match(/z=([^&amp;]*)&amp;/)[1];
alert("llx=" + llx + ", lly=" + lly + ", z=" + z);
//-->
</script>
</head>
<body>
</body>
</html>

ダミー:http://q.hatena.ne.jp/

id:openseed No.2

openseed回答回数51ベストアンサー獲得回数62007/01/15 03:44:54

ポイント35pt

var url = "http://maps.google.co.jp/maps?f=q&hl=ja&q=%E5%85%AD%E6%9...";

function Param(url){

    

    var query_parameter = {};

    var a = url.split("?", 2);

    var host_path = a[0];

    var query = a[1];

    var params = query.split('&');

    for(var i=0;i<params.length;i++){</p>

        var entry = params[i].split("=", 2);

        var key = decodeURIComponent(entry[0]);

        var val = decodeURIComponent(entry[1]);

        query_parameter[key] = val;

    }

    this.getParamater = function(key){

        return query_parameter[key];

    };

    this.getPoint = function(key){

        var a = this.getParamater(key);

        var p = a.split(",");

        var point = {};

        point.x = p[0];

        point.y = p[1];

        return point;

    };

    return this;

}

var p = new Param(url);

alert("q=" + p.getParamater("q"));

alert("ll=" + p.getParamater("ll"));

alert("llx=" + p.getPoint("ll").x);

alert("lly=" + p.getPoint("ll").y);

alert("z=" + p.getParamater("z"));

※ 動作確認は、IE6とFF1.5 です。

decodeURIComponent は、ブラウザバージョンに依存します。

もし、日本語の処理が必要なければ、利用しなくても大丈夫です。

利用は自己責任でお願いします。

http://jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません