人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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
みたいにとりたいです。

●質問者: kunitz
●カテゴリ:ウェブ制作
✍キーワード:JavaScript URL クエリ 抽出
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● susie-t
●35ポイント

以下でどうでしょう。基本的には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/


2 ● openseed
●35ポイント

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...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ