Как q=
с помощью JavaScript или jQuery проверить, содержит ли строка запроса символ a ?
javascript
мрбла
источник
источник
var url = new URLSearchParams(location.search); url.has("my_great_query");
возвращает,true
если эта строка запроса находится в вашем URL- адресе . Затем вы можете получить его значение с помощьюurl.get("my_great_query");
.Ответы:
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
источник
?kodiaq=1
, то вызовurl.indexOf('q=')
без префикса&
или?
заставил бы вас поверить, чтоq
параметр присутствует.Вы также можете использовать регулярное выражение:
источник
if(/[?&]q=/.test(location.search)) { alert("match"); }
(я был немного сбит с толку из-за комментария @DragosDurlut. :)Использование
URL
:url = new URL(window.location.href); if (url.searchParams.get('test')) { }
РЕДАКТИРОВАТЬ: если вам грустно по поводу совместимости, я настоятельно рекомендую https://github.com/medialize/URI.js/ .
источник
Пример простого кода 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;
источник
fooq=bar
еще один вариант, но почти такой же, как решение Гумбоса:
var isDebug = function(){ return window.location.href.search("[?&]debug=") != -1; };
источник
эта функция поможет вам получить параметр из URL-адреса в JS
function getQuery(q) { return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1]; }
источник
Попробуй это
//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/
источник
В современных браузерах это стало намного проще благодаря
URLSearchParams
интерфейсу. Это определяет множество служебных методов для работы со строкой запроса URL-адреса.Предполагая, что наш URL - это
https://example.com/?product=shirt&color=blue&newuser&size=m
, вы можете получить строку запроса, используяwindow.location.search
:const queryString = window.location.search; console.log(queryString); // ?product=shirt&color=blue&newuser&size=m
Затем вы можете проанализировать параметры строки запроса, используя
URLSearchParams
:const urlParams = new URLSearchParams(queryString);
Затем вы можете вызвать любой из его методов для результата.
Например,
URLSearchParams.get()
вернет первое значение, связанное с заданным параметром поиска:const product = urlParams.get('product') console.log(product); // shirt const color = urlParams.get('color') console.log(color); // blue const newUser = urlParams.get('newuser') console.log(newUser); // empty string
Вы можете использовать,
URLSearchParams.has()
чтобы проверить, существует ли определенный параметр:console.log(urlParams.has('product')); // true console.log(urlParams.has('paymentmethod')); // false
Для дальнейшего чтения нажмите здесь .
источник
Я использовал эту библиотеку раньше, она неплохо справляется с тем, что вам нужно. В частности: -
qs.contains(name) Returns true if the querystring has a parameter name, else false. if (qs2.contains("name1")){ alert(qs2.get("name1"));}
источник
Это должно помочь:
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 {}; } }
источник