Как проверить, присутствует ли значение строки запроса через JavaScript?

Как я могу проверить, содержит ли строка запроса a q= в нем с помощью JavaScript или jQuery?

80
задан user1063287 5 July 2019 в 14:09
поделиться

4 ответа

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
91
ответ дан 24 November 2019 в 09:47
поделиться

Вы также можете использовать регулярное выражение:

/[?&]q=/.test(location.search)
105
ответ дан 24 November 2019 в 09:47
поделиться

Простой пример кода 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;
8
ответ дан 24 November 2019 в 09:47
поделиться

Я использовал эту библиотеку раньше, которая довольно хорошо справляется с тем, что вам нужно. В частности: -

qs.contains(name)
    Returns true if the querystring has a parameter name, else false.

    if (qs2.contains("name1")){ alert(qs2.get("name1"));}
0
ответ дан 24 November 2019 в 09:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: