CoderNotes - заметки программиста

Публикации  »  JavaScript + jQuery
Бесплатный хостинг + SSL-сертификат

Зарегистрируйте домен и получите 2 месяца бесплатного хостинга и SSL-сертификат на 1 год в подарок

Подробнее
GeekBrains

Получить значение переменной из адресной строки на JavaScript

Иногда бывает нужно получить переменную из текущего url в программе JavaScript. Получить значение всего url можно легко, просто прочитав document.location, но что если в адресе есть много переменных, а нужна одна конкретная.

Получить значение нужной переменной из текущего адреса на JavaScript

Выполнить эту задачу можно с помощью нехитрой простой функции:

var test = getURLVar('test');

function getURLVar(key) {
  var query = String(document.location.href).split('?');
  if (query[1]) {
    var part = query[1].split('&');
    for (i = 0; i < part.length; i++) {
      var data = part[i].split('=');
      if (data[0] == key && data[1]) return data[1];
    }
  }
  return '';
}

Если переменной в запросе нет или ее значение не задано, функция вернет пустую строку.

Другой вариант, более продвинутый, так сказать, получения переменной из url:

var test = getURLVar('test');

function getURLVar(key) {
  var vars = location.search.substr(1).split('&').reduce(function(res, a) {
    var t = a.split('=');
    res[decodeURIComponent(t[0])] = t.length == 1 ? null : decodeURIComponent(t[1]);
    return res;
  }, {});
  return vars[key] ? vars[key] : ''; 
}

Бывает еще обратная задача:

Получить адресную строку без указанной переменной на JavaScript

Код функции будет такой:

var url = getURLWithoutVar('test');

function getURLWithoutVar(key) {
  var url = '';
  var vars = location.search.substr(1).split('&').reduce(function(res, a) {
    var t = a.split('=');
    if (key != decodeURIComponent(t[0])) url += '&' + a;
  }, {});
  return url != '' ? location.origin + location.pathname + '?' + url.substr(1) : location.href;
}

Если переменной в адресной строке нет, тогда функция вернет всю строку со всеми переменными.

 

 

Категория: JavaScript + jQuery

Книги по теме:

Геннадий Самков

jQuery. Сборник рецептов

Дуглас Крокфорд

Как устроен JavaScript

Посмотреть все книги по программированию

Комментарии к статье:

Пока комментариев нет, ваш будет первым ;)

Добавить комментарий: