Função JavaScript para pegar valor de uma URL

Função JavaScript para pegar valor de uma URL:

/**
			* Função JavaScript para pegar valor de uma URL
			* Exemplo de uso:
			* Dada a url -> https://ricardospinoza.wordpress.com/index.php?id=1234&nome=ricardo
			* o código abaixo retorna:
			* getURLParameters('nome'); //valor ricardo
			* getURLParameters('id'); //valor 1234
			* getURLParameters('id', 'getURLParameters('nome', 'http://ricardospinoza.desenvolvimentoweb.eti.br/exemplos/exemplo_funcao_javascript_get_param_url.html?id=1234&nome=ricardo')"'); //retorna o valor ricardo
			**/
			function getURLParameters( param, url ) {
				param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
				var regexS = "[\\?&]"+param+"=([^&#]*)";
				var regex = new RegExp( regexS );
				//se url não for informada, assume a url corrente da página
				if (typeof url == "undefined")
					var results = regex.exec( window.location.href );
				else
					var results = regex.exec( url );

				if( results == null ){
					return "";
				}
				else {
                                   
                                    //Tratar dos caracteres e espaço. by Tiago Rodrigues
                                    return decodeURI(results[1]);
				}
			}

Exemplo rodando… exemplo_funcao_javascript_get_param_url.html?id=1234&nome=RicardoSpinoza

7 Comentários

Arquivado em JavaScript/Afins

7 Respostas para “Função JavaScript para pegar valor de uma URL

  1. Andre luiz

    Amigo legal , como faço se for uma url amigavel? como faço exemplo

    http://www.meuisite.com.br/624001/meu–livro–na–web

    No caso teria que pegar o nome meu–livro–na–web

    pode me ajudar?

    Obrigado…

  2. Andre luiz

    Amigo tou quase conseguindo ficou assim

    search = location.href;
    link = search.replace(‘?’, “”).split(/[(|=)]/);
    document.write(“Link “+link);

    se tou a pagina http://localhost/624001/meu-livro-na-web como eu faço agora so para mostrar apartir da 2 barra ? no caso ele mostra tudo inteiro http://localhost/624001/meu-livro-na-web queria so pegar apartir da 2 barra tipo count mostrar a apartir da 2 barra

    • Oi André. Então pelo que entendi vc quer trazer a string da segunda barra, certo?
      O split com o critério “/” cria um array com valores separados pela string “/”. exmplo “a/b/c” com split(“/”) gera um array com valor[0]=a , valor[1]=b, etc..
      Pensando nisto. vc pode usar o trecho de código abaixo:

         var variaveis=location.search.split("/");
         var iChave =  variaveis[1];
         var str = variaveis[2];
         alert('chave: ' + iChave + ' valor: ' + str);
      

      Para vc mostrar a partir da segunda barra, vc pode fazer um loop aonde vc considera o valores pares. coloquei dois loops ai pra vc ver o alerts.

      //se for mais de um vc pode fazer um for
      	alert('loop que traz valores da sua url');
      	for (var i =1 ; i<variaveis.length;i++) {//traz valor
      		alert(variaveis[i]);
      	}
      	
      	alert('loop que os pares: chave/valor da sua url');
      	for (var i =1 ; i<variaveis.length;i++) {//traz chave e valor
      		if (i%2==0)
      			alert(variaveis[i-1] +' '+ variaveis[i]);
      	}
      

      []s

  3. Na penultima linha deixe assim
    return decodeURI(results[1]);
    Para tratar dos caracteres e espaço.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s