FC2ブログ
人生ずっと勉強。
ITを軸としたT型人間になりたい人のブログ。
11 | 2018/12 | 01
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【JavaScript 】 URIパラメータをオブジェクトにする
www.example.com?name=hoge&type=huga
みたいなURIパラメータの部分をJavaScriptで取得するには、
グローバルオブジェクトのプロパティ「location」のプロパティ「search」を参照すりゃよい。
var uri_param = location.search

上の例だと、 uri_param には「?name=hoge&type=huga」が入る。
まだ扱いにくいので、パラメータ名をキーにしたオブジェクトに変換してみる。
function uri_parameter_string_to_object ( uri_param_string_with_question_mark ) {
var uri_param_string_without_question_mark
, uri_param_name_equal_value_array
, uri_param_container
, param_name_equal_value_string
, param_name_and_value_set
, uri_param_name
, uri_param_value
, length
, i = 0
;

// delete '?'
uri_param_string_without_question_mark
= uri_param_string_with_question_mark.replace('?', '');

// split by '&', make array of 'param_name=value's.
uri_param_name_equal_value_array
= uri_param_string_without_question_mark.split('&');

// create uri_param object, like { param_name : value }
uri_param_container = {};
length = uri_param_name_equal_value_array.length;
for ( ; i < length; ++i ) {
param_name_equal_value_string = uri_param_name_equal_value_array[i];
param_name_and_value_set = param_name_equal_value_string.split('=');

uri_param_name = param_name_and_value_set[0];
uri_param_value = param_name_and_value_set[1];

uri_param_container[uri_param_name] = uri_param_value;
}

return uri_param_container;
}

使うときは、引数に location.search を与えてやればおk
var uri_param_container = uri_parameter_string_to_object(location.search);
console.log(uri_param_container['name']); // 'hoge'

長ったらしいw
スポンサーサイト

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://kiyotakagoto.blog3.fc2.com/tb.php/54-6fe2b69b
この記事にトラックバックする(FC2ブログユーザー)

わたくし

いろいろリンク

カテゴリ

月別アーカイブ

最新記事

最新コメント

最新トラックバック

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。