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
有益な情報を公開していただきありがとうございます。
この記事が気に入ったらシェアしてください