Как я могу проверить, содержит ли строка запроса q=
используя JavaScript или jQuery?
Как проверить, присутствует ли значение строки запроса через JavaScript?
Ответ 1
var field = 'q';
var url = window.location.href;
if(url.indexOf('?' + field + '=') != -1)
return true;
else if(url.indexOf('&' + field + '=') != -1)
return true;
return false
Ответ 2
Вы также можете использовать регулярное выражение:
/[?&]q=/.test(location.search)
Ответ 3
Используя URL
:
url = new URL(window.location.href);
if (url.searchParams.get('test')) {
}
РЕДАКТИРОВАТЬ: если вам грустно о совместимости, я настоятельно рекомендую https://github.com/medialize/URI.js/.
Ответ 4
Простой пример кода JavaScript, который отвечает на ваш вопрос буквально:
return location.search.indexOf('q=')>=0;
Простой пример кода JavaScript, который пытается найти, существует ли параметр q и имеет ли он значение:
var queryString=location.search;
var params=queryString.substring(1).split('&');
for(var i=0; i<params.length; i++){
var pair=params[i].split('=');
if(decodeURIComponent(pair[0])=='q' && pair[1])
return true;
}
return false;
Ответ 5
еще один вариант, но почти такой же, как решение Gumbos:
var isDebug = function(){
return window.location.href.search("[?&]debug=") != -1;
};
Ответ 6
эта функция поможет вам получить параметр из URL-адреса в JS
function getQuery(q) {
return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1];
}
Ответ 7
Попробуйте это
//field "search";
var pattern = /[?&]search=/;
var URL = location.search;
if(pattern.test(URL))
{
alert("Found :)");
}else{
alert("Not found!");
}
Ответ 8
Я использовал эту библиотеку, перед которой довольно хорошо работает то, что вам нужно. В частности: -
qs.contains(name)
Returns true if the querystring has a parameter name, else false.
if (qs2.contains("name1")){ alert(qs2.get("name1"));}
Ответ 9
Это должно помочь:
function getQueryParams(){
try{
url = window.location.href;
query_str = url.substr(url.indexOf('?')+1, url.length-1);
r_params = query_str.split('&');
params = {}
for( i in r_params){
param = r_params[i].split('=');
params[ param[0] ] = param[1];
}
return params;
}
catch(e){
return {};
}
}