Como posso verificar se a string de consulta contém um q=
nele usando JavaScript ou jQuery?
javascript
mrblah
fonte
fonte
var url = new URLSearchParams(location.search); url.has("my_great_query");
retornatrue
se a string de consulta estiver em seu url. Você pode obter seu valor comurl.get("my_great_query");
.Respostas:
fonte
?kodiaq=1
, chamarurl.indexOf('q=')
sem prefixá-la com&
ou?
levaria você a acreditar que oq
parâmetro está presente.Você também pode usar uma expressão regular:
fonte
if(/[?&]q=/.test(location.search)) { alert("match"); }
(fiquei um pouco confuso devido ao comentário de @DragosDurlut. :)Usando
URL
:EDITAR: se você está triste com a compatibilidade, sugiro https://github.com/medialize/URI.js/ .
fonte
O exemplo de código JavaScript simples que responde literalmente à sua pergunta:
O exemplo de código javascript simples que tenta descobrir se o parâmetro q existe e se tem um valor:
fonte
fooq=bar
mais uma variante, mas quase igual à solução Gumbos:
fonte
esta função ajuda você a obter o parâmetro do URL em JS
fonte
Tente isto
JSFiddle: https://jsfiddle.net/codemirror/zj4qyao2/
fonte
Em navegadores modernos, isso se tornou muito mais fácil, graças ao
URLSearchParams
interface. Isso define uma série de métodos utilitários para trabalhar com a string de consulta de um URL.Supondo que nosso URL seja
https://example.com/?product=shirt&color=blue&newuser&size=m
, você pode pegar a string de consulta usandowindow.location.search
:Você pode então analisar os parâmetros da string de consulta usando
URLSearchParams
:Então você pode chamar qualquer um de seus métodos no resultado.
Por exemplo,
URLSearchParams.get()
retornará o primeiro valor associado ao parâmetro de pesquisa fornecido:Você pode usar
URLSearchParams.has()
para verificar se um determinado parâmetro existe:Para ler mais, clique aqui .
fonte
Já usei essa biblioteca antes, que faz um bom trabalho com o que você procura. Especificamente:-
fonte
Isso deve ajudar:
fonte