76 votes

Analyser l'URL avec jquery / javascript?

Comment analyser une URL avec jquery / javascript?

Par exemple, j'ai ceci dans ma chaîne,

 http://mysite.com/form_image_edit.php?img_id=33
 

Je veux obtenir la valeur de img_id

Je sais que je peux le faire facilement avec php avec parse_url() , mais je veux savoir si c'est possible avec javascrip.

121voto

Sindre Sorhus Points 20538

Vous pouvez utiliser une astuce de la création d'un a-élément, ajoutez l'url, puis de l'utilisation de son Emplacement d'objet.

function parseUrl( url ) {
    var a = document.createElement('a');
    a.href = url;
    return a;
}

parseUrl('http://mysite.com/form_image_edit.php?img_id=33').search

Qui sera de sortie: ?img_id=33


Vous pouvez également utiliser php.js pour obtenir la fonction parse_url en JavaScript.


Mise à jour (2012-07-05)

Je vous conseille d'utiliser l'excellent URI.js bibliothèque si vous avez besoin de faire quelque chose de plus que super simple gestion des URL.

36voto

Ray Toal Points 35382

Si votre chaîne s'appelle s alors

 var id = s.match(/img_id=([^&]+)/)[1]
 

va vous le donner.

10voto

mdaguerre Points 551

Essaye ça:

     var url = window.location;
    var urlAux = url.split('=');
    var img_id = urlAux[1]
 

6voto

A. Masson Points 372

Bon plugin jQuery existant (un analyseur syntaxique d'URL JavaScript) . Cet utilitaire peut être utilisé de deux manières - avec jQuery ou sans ...

5voto

kobe Points 7925

obtenu de google, essayez d'utiliser cette méthode

 function getQuerystring2(key, default_) 
{ 
    if (default_==null) 
    { 
        default_=""; 
    } 
    var search = unescape(location.search); 
    if (search == "") 
    { 
        return default_; 
    } 
    search = search.substr(1); 
    var params = search.split("&"); 
    for (var i = 0; i < params.length; i++) 
    { 
        var pairs = params[i].split("="); 
        if(pairs[0] == key) 
        { 
            return pairs[1]; 
        } 
    } 


return default_; 
}
 

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