URLの文字列にあるクエリ文字列(URLパラメーター)に指定する値の存在を確認

URLの文字列にあるクエリ文字列(URLパラメーター)に指定する値の存在を確認するには、次のような方法で可能です。

関数定義

JavaScript

/**
 * URLの文字列にあるクエリ文字列(URLパラメーター)に指定する値の存在を確認
 * @param {string} urlValue URLの文字列
 * @param {string} keyName 検索するキー名
 * @param {string} value 検索する値
 * @return {string} キーとそのキーの値が見つかったらtrue、見つからなかったらfalseを返す
 */
var hasUrlParamValue = function(urlValue, keyName, value) {
	var result = false, urlParams = {};

	var getParam = function(path) {
		var result = path.match(/\?([^?]*)$/);
		return result ? result[1] : '';
	};

	var  getParams = function(path) {
		var param     = getParam(path),
		    params    = {},
		    tmpParams = [],
		    keyValue  = [];

		if (param === '') return {};

		tmpParams = param.split('&');

		for (var i = 0, len = tmpParams.length; i < len; i++) {
			keyValue = tmpParams[i].split('=');
			params[keyValue[0]] = keyValue[1];
		}

		return params;
	};

	if (urlValue && urlValue !== '' && (keyName || keyName === 0) && keyName !== '' && (value || value === 0) && value !== '') {
		urlParams = getParams(urlValue);
		if (keyName in urlParams && urlParams[keyName] === value) result = true;
	}

	return result;
};

使い方

引数

引数名 説明
第一引数
必須
urlValue string URLの文字列
第二引数
必須
keyName string 検索するキー名
第三引数
必須
value string 検索する値

戻り値

キーとそのキーの値が見つかったらtrue、見つからなかったらfalseを返します。

JavaScript

var url    = 'http://www.example.co.jp/test/page/sample-01_test.html?data=test01&w1=d01#hash-sample',
    result = hasUrlParamValue(url, 'data', 'test01');

alert(result); // true

JavaScript逆引きリファレンス一覧へ戻る