2009-09-18 78 views

Respuesta

40

puede utilizar substring y lastIndexOf:

var value = url.substring(url.lastIndexOf('/') + 1); 

Si se omite el segundo parámetro de substring, extrae los caracteres al final de la cadena.

+1

¡5 segundos! You disimulado guatemalteco :) –

+1

@Andy: LOL exactamente 5 segundos, eso estuvo muy cerca! – CMS

0
var arr = window.location.split("/FormBuilder/index.php/reports/export/1"); 
var last_val = arr[arr.length-1]; 
+2

Split requiere un parámetro. http://www.w3schools.com/jsref/jsref_split.asp –

1

¿Por qué no utilizar un regex?

var p = /.+\/([^\/]+)/; 
var match = p.exec(str) 
alert(match[1]); 
6
No

realmente jQuery, pero pura Javascript:

var a = '/test/foo/bar'; 

Para obtener la cadena después del último carácter:

var result = a.substring(a.lastIndexOf("/") + 1); 
2

Como se puede ver en todas las respuestas jQuery ISN' Necesito hacer esto.

Se podría dividirlo:

var url = 'www.google.com/dir1/dir2/2'; 
var id = parseInt(url.split('/')[url.split('/').length - 1]); 
4

Usando una expresión regular, que es igual que el método lastIndexOf, pero con la ventaja añadida de ser casi imposible leer/entender! ;)

var lastBit = theUrl.match(/[^\/]*$/)[0]; 

realmente hay un beneficio, sin embargo, si sólo quería obtener los números de salida, o algún otro patrón que podría adaptarlo:

// match "/abc/123", not "/abc/foo" 
var lastDigits = theUrl.match(/[0-9]*$/)[0]; 

// match "/abc/Pie", not "/abc/123" 
var matches = theUrl.match(/\/(P[^\/]*)$/); 
var lastBitWhichStartsWithTheLetterP = matches ? matches[1] : null; 
9

Para obtenerlo de la URL Dirección:

var value = window.location.href.substring(window.location.href.lastIndexOf('/') + 1); 
0

universal:

function getQueryVariable(variable) 
{ 
    var pathname = window.location.pathname.split("/"); 

    for (i = 0; i < pathname.length; i++) { 
     if (pathname[i] == variable){ 
      return pathname[i+1]; 
     } 
    } 

} 
Cuestiones relacionadas