Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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!");
}

JSFiddle: https://jsfiddle.net/codemirror/zj4qyao2/

Ответ 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 {};
    }
}