2011-09-07 12 views

Respuesta

13
var url = 'http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all'; 
var match = url.match(/userID=(\d+)/) 
if (match) { 
    var userID = match[1]; 
} 

Coincide con el valor del parámetro ID de usuario en la URL.

/userID=(\d+)/ es un literal de expresión regular. Cómo funciona:

  • El / son los delimitadores, como " para cuerdas
  • userID= busca la cadena userID= en url
  • (\d+) búsquedas de uno o más dígitos decimales y lo captura (lo devuelve)
+0

Gracias que trabajó .. También puede explicarme lo que hace '/ ID de usuario = (\ d +)/'¿hacer? – abi1964

+0

Sí, he actualizado la respuesta – arnaud576875

+0

Entonces, ¿cómo es que solo obtiene el número '1413795052' pero no' userID = 1413795052'? – abi1964

1

intento con:

var input = "http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all"; 

var id = parseInt(input.match(/userID=(\d+)/)[1]); 
0

Esto hará que todos los números en la cadena de consulta:

window.location.search.match(/[0-9]+/); 
1

probarlo aquí en stackoverflow:

window.location.pathname.match(/questions\/(\d+)/)[1]

Cuestiones relacionadas