Я видел много примеров jQuery, где размер и имя параметра неизвестны.
Мой URL будет содержать только 1 строку:
http://example.com?sent=yes
Я просто хочу обнаружить:
- Существует
sent
? - Это равно "да"?
jquery
url
parameters
query-string
querystringparameter
LeBlaireau
источник
источник
Ответы:
Лучшее решение здесь .
И это, как вы можете использовать эту функцию , если предположить , что URL есть
http://dummy.com/?technology=jquery&blog=jquerybyexample
.источник
false
илиnull
для пустого поиска&
или=
значение параметра.Решение от 2020
У нас есть: http://example.com?sent=yes
Имеет ли послал EXIST ?
Это равно "да"?
а затем просто сравните это.
источник
if ('URLSearchParams' in window) { // Browser supports URLSearchParams}
см. здесьФрагмент кода jQuery, чтобы получить динамические переменные, хранящиеся в URL-адресе в качестве параметров, и сохранить их в виде переменных JavaScript, готовых для использования с вашими сценариями:
example.com?param1=name¶m2=&id=6
пример params с пробелами
источник
return results[1] || 0;
этого должно бытьreturn decodeURI(results[1]) || 0;
|| 0
деталь, поскольку уже есть проверка результата, не всегда ли она возвращает массив совпадений?Я всегда придерживаюсь одной строки. Теперь у params есть переменные:
многострочный:
как функция
который вы могли бы использовать как:
или
источник
replace(/[?&;]+([^=]+)=([^&;]*)/gi
reize ";" символ как разделитель тоже.var params={};window.location.hash.replace(/[#&]+([^=&]+)=([^&]*)/gi,function(str,key,value){params[key] = value;});
Это полезно для таких вещей, как AJAX, где хеш в окне обновляется с помощью ajax-запросов, но также и один пользователь может перейти к URI. содержащий хешЕще одна альтернативная функция ...
источник
param('t') == param('sent') == 'yes'
в примере с OP. Вот исправление:return (location.search.split(new RegExp('[?&]' + name + '='))[1] || '').split('&')[0]
; Также обратите внимание, что вы не можете сказать, существует ли параметр, потому что вы получаете пустую строку для пропущенных параметров.return (location.search.split('?' + name + '=')[1] || location.search.split('&' + name + '=')[1] || '').split('&')[0];
Может быть, уже слишком поздно. Но этот метод очень прост и прост
ОБНОВЛЕНИЕ
Требуется плагин URL: plugins.jquery.com/url
Спасибо -Ripounet
источник
Или вы можете использовать эту аккуратную маленькую функцию, потому что почему слишком сложные решения?
что выглядит еще лучше, когда упрощено и подчеркнуто:
tl; dr однолинейное решение
Но что, если у вас есть закодированные символы или многозначные ключи ?
Вам лучше увидеть этот ответ: Как я могу получить значения строки запроса в JavaScript?
Красться пик
источник
Использование
URLSearchParams
:Будьте осторожны с совместимостью (в основном это нормально, но IE и Edge могут отличаться, проверьте это на предмет совместимости: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams )
источник
Этот простой и работал для меня
так что если ваш URL-адрес http://www.yoursite.com?city=4
попробуй это
источник
Возможно, вы захотите взглянуть на Dentist JS ? (отказ от ответственности: я написал код)
код:
с помощью Dentist JS вы можете в основном вызывать функцию extract () для всех строк (например, document.URL.extract ()), и вы получите HashMap со всеми найденными параметрами. Это также настраивается для работы с разделителями и все.
Минимизированная версия <1 КБ
источник
Я надеюсь, это поможет.
источник
источник
Попробуйте это рабочее демо http://jsfiddle.net/xy7cX/
API:
inArray
: http://api.jquery.com/jQuery.inArray/Это должно помочь
:)
код
источник
Вот эта замечательная библиотека: https://github.com/allmarkedup/purl
что позволяет делать просто
В примере предполагается, что вы используете jQuery. Вы также можете использовать его как обычный javascript, тогда синтаксис будет немного другим.
источник
Это может быть излишним, но есть довольно популярная библиотека теперь доступны для синтаксического анализа URIs, называемого URI.js .
пример
источник
Так просто вы можете использовать любой URL и получить значение
Пример использования
Примечание. Если параметр присутствует несколько раз (? First = value1 & second = value2), вы получите первое значение (value1) и второе значение как (value2).
источник
Это даст вам хороший объект для работы с
А потом;
источник
Это основано на ответе Газориса , но URL декодирует параметры, поэтому их можно использовать, когда они содержат данные, отличные от цифр и букв:
источник
Есть еще один пример использования URI.js библиотеки
Пример отвечает на вопросы точно так, как задано.
источник
Лучшее решение здесь .
С помощью функции выше вы можете получить отдельные значения параметров:
источник
Кофейная версия ответа Самира
источник
Небольшое улучшение в ответе Самера, кеширование параметров в закрытие, чтобы избежать синтаксического анализа и зацикливания всех параметров при каждом вызове
источник
Я использую это, и это работает. http://codesheet.org/codesheet/NF246Tzs
источник
С ванильным JavaScript, вы можете легко взять параметры (location.search), получить подстроку (без?) И превратить ее в массив, разделив его на '&'.
Выполняя итерацию по urlParams, вы можете снова разделить строку с помощью «=» и добавить ее к объекту «params» как object [elmement [0]] = element [1]. Супер просто и легко получить доступ.
http://www.website.com/?error=userError&type=handwritten
источник
Что, если в параметре URL есть &, например имя файла = "p & g.html" & uid = 66
В этом случае первая функция не будет работать должным образом. Поэтому я изменил код
источник
По общему признанию, я добавляю свой ответ на переоцененный вопрос, но у этого есть преимущества:
- Не зависит от каких-либо внешних библиотек, в том числе jQuery
- Не загрязняет глобальное пространство имен функций, расширяя 'String'
- Не создавать глобальные данные и не выполнять ненужную обработку после того, как совпадение найдено
- Обработка проблем кодирования и принятие (при условии) не закодированного имени параметра
- Избегать явных
for
цикловТогда вы бы использовали его как:
источник
Если вы хотите найти определенный параметр из определенного URL:
источник
Другое решение, которое использует jQuery и JSON, так что вы можете получить доступ к значениям параметра через объект.
Предполагая, что ваш URL
http://example.com/?search=hello+world&language=en&page=3
После этого нужно использовать только такие параметры:
возвращаться
Наиболее полезное использование этого - запускать его при загрузке страницы и использовать глобальную переменную для использования параметров там, где они могут вам понадобиться.
Если ваш параметр содержит числовые значения, просто проанализируйте значение.
Если параметров нет
param
, просто будет пустой объект.источник
источник
использовать этот
источник