Foros del Web » Programando para Internet » Javascript »

parametros con expresion regular

Estas en el tema de parametros con expresion regular en el foro de Javascript en Foros del Web. tengo una url y quisiera obtener el valor de cada parametro con una expresion regular. es esto posible? Por ejemplo, teniendo esta url 'mipagina?&idProvincia=30&municipio=leganes', quisiera ...
  #1 (permalink)  
Antiguo 09/06/2008, 14:38
 
Fecha de Ingreso: enero-2004
Mensajes: 61
Antigüedad: 20 años, 3 meses
Puntos: 0
parametros con expresion regular

tengo una url y quisiera obtener el valor de cada parametro con una expresion regular. es esto posible?

Por ejemplo, teniendo esta url 'mipagina?&idProvincia=30&municipio=leganes',
quisiera obtener el valor del parametro idProvincia y el de municipio con una expresion regular reutilizable para cada parametro.

gracias
__________________
gracias

http://www.registradorascmp.com
  #2 (permalink)  
Antiguo 09/06/2008, 15:49
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: parametros con expresion regular

Fijate si te sirve:
Código PHP:
<script>
var 
t='mipagina?&idProvincia=30&municipio=leganes';
function 
obtVal(cad,nom){
    
cad+='&';
    var 
pat=new RegExp(nom+'{1}\={1}(.*?)&');
    try{return 
cad.match(pat)[1];}catch(e){return null;};
}
alert(obtVal(t,'idProvincia'));
alert(obtVal(t,'municipio'));
alert(obtVal(t,'otracosa'));
</script> 
  #3 (permalink)  
Antiguo 09/06/2008, 19:44
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: parametros con expresion regular

Mejor así, para contemplar los casos en los que se repiten los parámetros y/o existe hash:
Código PHP:
<script>
var 
t='mipagina?&idProvincia=30&municipio=leganes&municipio=avellaneda&municipio=tigre&idProvincia=50&nuevo=45';
function 
obtVal(cad,nom){
    
cad=cad.split('#');
    
cad=cad[0]+'&';
    var 
pat=new RegExp(nom+'{1}\={1}(.*?)&','g');
    var 
pat2=new RegExp(nom+'{1}\={1}(.*?)&');
    try{
        if(
cad.match(pat).length<2){
            return [
cad.match(pat2)[1]];
        }else{
            var 
t=[];
            for(var 
i=0;cad.match(pat).length;i++){
                
t[i]=cad.match(pat)[i].match(pat2)[1];
            }
            return 
t;
        }
    }catch(
e){return []};
}
alert(obtVal(t,'idProvincia'));
alert(obtVal(t,'municipio'));
alert(obtVal(t,'otracosa'));
alert(obtVal(t,'nuevo'));
</script> 

Última edición por Panino5001; 09/06/2008 a las 23:56
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.