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