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

jQueryでURLのパラメーターを取得して、そのパラメーターが指定の文字列に一致するとアラートが表示されるようにしたいと思います。

PHPでいうと、以下のようなソースです。
if($_GET["id"]=="1"){
echo "IDが入力されています";
}

jQueryでURLのパラメーターを取得する方法があれば教えて下さい。

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:echo jQuery PHP URL アラート
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● mattn
●27ポイント

プラグインを使わずだと、いろいろしないと出来ないでしょうね。

"?"以降を取って来て"&"でsplitして"="でsplitして、value部をdecodeURIComponentして...など。

http://projects.allmarkedup.com/jquery_url_parser/

jQuery Pluginとして、こんなのもあるようなので試してみてはどうでしょうか。

◎質問者からの返答

"?"以降を取って来て"&"でsplitして"="でsplitして、value部をdecodeURIComponentして...など。

と言う部分を具体的に教えて欲しかったのですが・・。


2 ● kebo987654
●27ポイント

JQueryではありませんが、”location.search”でurlの”?”以降がとれるので、それを弄って”?”を取り除けばよいと思います。

サンプルコード

// "?"以降を取得
var parameter = location.search;
// "?"を除いた文字列を得る
parameter = parameter.substring( 1, parameter.length );
// URIをデコードする
parameter = decodeURIComponent( parameter );
// アラートを表示
alert( parameter );
◎質問者からの返答

ありがとうございます。参考にします。


3 ● mattn
●26ポイント

少し適当ですが、これで分かりますか?

// URLからパラメータ部をハッシュマップで返す
function getParametersFromURL(url) {
var params = {};
// パラメータを持っているか
if (url.match(/https?[^?]+\?([^#]*)/)) {
var query = RegExp.$1;
// & で分割
var arr = query.split('&')
for (var n in arr) {
// AAA=BBB の形式か
if (arr[n].match(/^([^=]+)=(.*)$/)) {
// params オブジェクトに値をでコードしながら格納
params[RegExp.$1] = decodeURIComponent(RegExp.$2);
}
}
}
return params;
}

var url = 'http://www.google.com/search?hl=ja&q=jQuery&btnG=%E6%A4%9C%E7%B4%A2#test';
var params = getParametersFromURL(url);
alert(params['hl']); // ja
alert(params['q']); // jQuery
alert(params['btnG']); // 検索
◎質問者からの返答

ありがとうございます。参考にします。

関連質問


●質問をもっと探す●



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