function extractUrlValue(key, url){if(typeof(url)==='undefined')
url = window.location.href;var match = url.match('[?&]'+ key +'=([^&]+)');return match ? match[1]:null;}
Si vous essayez de faire correspondre l'url d'une page, le visiteur est actuellement sur, vous utilisez la méthode comme ceci:
var value = extractUrlValue('url');
Sinon, vous pouvez passer une url personnalisée, par exemple
var value = extractUrlValue('url','http://www.test.info/link/?url=http://www.site2.com
Comme dans le RFC: tools.ietf.org/html/rfc3986#section-3.3 Le point-virgule(';') personnage peut également être utilisé pour délimiter les paramètres, Donc je pense que l'expression régulière pattern serait comme url.match(/url=([^&;]+)/)[1] Cela correspond également à quelque chose comme example.com/notthisurl=match&url=wontmatch avoir un comportement inattendu. Pour résoudre ce que je peux imaginer une regex comme celui-ci url.match(/(\?|&)url=([^&]+)/)[2]
function extractUrlValue(key, url){if(typeof(url)==='undefined')
url = window.location.href;var match = url.match('[?&]'+ key +'=([^&#]+)');return match ? match[1]:null;}
Si key est un dernier paramètre dans l'URL et après qu'il y est un point d'ancrage - il saisir le code herewill retour value#anchor comme une valeur. # dans regexp '[?&]' + key + '=([^&#]+)' permettra d'éviter que.
Si vous essayez de faire correspondre l'url d'une page, le visiteur est actuellement sur, vous utilisez la méthode comme ceci:
Sinon, vous pouvez passer une url personnalisée, par exemple
OriginalL'auteur Andrew Mackrodt
Découvrez http://rubular.com pour tester les regex:
url.match(/url=([^&;]+)/)[1]
Cela correspond également à quelque chose comme example.com/notthisurl=match&url=wontmatch avoir un comportement inattendu. Pour résoudre ce que je peux imaginer une regex comme celui-ci
url.match(/(\?|&)url=([^&]+)/)[2]
OriginalL'auteur Jordan
Pourriez vouloir vérifier ceci: http://snipplr.com/view/799/get-url-variables/ (fonctionne sans regEx)
Celui-ci n'utiliser les regEx: http://www.netlobo.com/url_query_string_javascript.html
OriginalL'auteur amosrivera
Bien, d'abord, c'est que l'ensemble de la chaîne de requête? Si donc, tout ce que vous devez faire est de diviser le =:
Sinon, vous pouvez utiliser la Jordanie de la Regex.
OriginalL'auteur Srdjan Pejic
Sur le code de réponse:
Si
key
est un dernier paramètre dans l'URL et après qu'il y est un point d'ancrage - il saisir le code herewill retourvalue#anchor
comme une valeur.#
dans regexp'[?&]' + key + '=([^&#]+)'
permettra d'éviter que.OriginalL'auteur Vasyl Zubach