jQueryで特定のパラメータの値を取得する関数
- 投稿日:2019/05/31
- JavaScript/jQuery
時々、URLのパラメータ(クエリ文字)によって動作を振り分けたいことがあります。
PHPだとパラメータの取得は簡単なのですが、javascriptで処理を行う場合は準備が必要です。
URLのパラメータ(クエリ文字列)を取得する
javascriptでは、URLのパラメータ(クエリ文字)を取得できます。
たとえば、
var param = location.search; console.log(param);
のようにすると、http://example.com?a=&b=1
にアクセスした時、コンソールには[?a=&b=1]
のように出力されます。
このままだとそれぞれのパラメータの値を活用しづらいので、パラメータの特定のキーの値を取得するため、いつもお世話になっている関数を紹介します。
URLのパラメータ(クエリ文字列)の特定のキーの値を取得する関数
開発ブログ:Javascript でURLのパラメータを取得する方法
こちらで解説されていた方法です。
function getParam(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); }
上記のようにjavascriptを記載しておくと、下記のようにキーごとにパラメータを取得できます。
// 例:http://example.com?a=&b=1 getParam('a') // ''; getParam('b') // '1'; getParam('c') // null
有益な情報を公開していただきありがとうございます。