Como pegar um parâmetro da url usando javascript
Pessoas, me deparei com um problema aqui no trabalho e tive que fazer uma função básica pra pegar um parâmetro da url, seja ele com “?”, “&” ou até âncora “#”, achei que poderia ser útil pra mais alguém, segue o código
function getParameter(p,href){
var parName = p.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var rx = new RegExp("[\\?]"+parName+"=([^]*)");
var valor = rx.exec(href);
if(valor == null){
return "";
}else{
return valor[1];
}
}
Como onde eu precisei usar, a url nem sempre estava no browser, eu estou passando ela por parâmetro, esta função retorna o valor do parâmetro que você procurou, ou retorna vazio se não encontrar nada, ex:
alert(getParameter('parametroDaUrl',location.href));
Espero que seja útil
Ajaxianos
Se for pegar apenas os parametros, o próprio location suporta esta função, ou seja:
alert(location.getParameter(“parametroDaURL”));
Mas para pegar da âncora, neste caso
location.hash irá retornar a âncora completa, ou seja, com o simbolo #
http://www.w3schools.com/jsref/obj_location.asp
O problema é a compatibilidade dos browsers, o hash se não me engano é compatível no IE7 e nos webkit mas o getParameter aí funciona pra tudo :p