120 votes

Comment vérifier si une valeur de chaîne de requête est présente via javascript

Comment puis-je vérifier si la chaîne de requête contient aq = en utilisant javascript / jquery?

129voto

Gumbo Points 279147

Vous pouvez également utiliser une expression régulière:

 /[?&]q=/.test(location.href)
 

123voto

LorenVS Points 5784
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

9voto

Peter Dolberg Points 1025

Voici un exemple de code javascript simple qui répond littéralement à votre question:

 return location.search.indexOf('q=')>=0;
 

Exemple de code javascript simple qui tente de déterminer si le paramètre q existe et s'il a une valeur:

 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;
 

5voto

une variante supplémentaire, mais presque identique à la solution Gumbos:

 var isDebug = function(){
    return window.location.href.search("[?&]debug=") != -1;
};
 

0voto

Gavin Gilmour Points 3109

J'ai déjà utilisé cette bibliothèque qui fait un très bon travail pour ce que vous recherchez. Plus précisément:-

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

    if (qs2.contains("name1")){ alert(qs2.get("name1"));}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X