URLの文字列にクエリ文字列(URLパラメーター)のキーの存在を確認

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

関数定義

JavaScript

/**
 * URLの文字列にクエリ文字列(URLパラメーター)のキーの存在を確認
 * @param {string} urlValue URLの文字列
 * @param {string} keyName 検索するキー名
 * @return {string} キーが見つかったらtrue、見つからなかったらfalseを返す
 */
var hasUrlParamKey = function(urlValue, keyName) {
	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 !== '') {
		urlParams = getParams(urlValue);

		if (keyName in urlParams) result = true;
	}

	return result;
};

使い方

引数

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

戻り値

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

JavaScript

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

alert(result); // true

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