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