2011-09-29 5 views
5

I ha tengo este tipo de hrefsCómo obtener el valor antes de la última barra inclinada usando jQuery

http://localhost:8080/en/reservations/tours-and-safaris-booking-enquiry-form/dubai/index.aspx 
http://localhost:8080/en/reservations/tours-and-safaris-booking-enquiry-form/muscat/index.aspx 

Ahora tengo que escribir una función que va a tomar esto como entrada y volverá "viajes-y-safaris- booking-inquiry-form ".

¡Por favor sugiéranlo!

+1

[Esta respuesta] (http://stackoverflow.com/questions/651563/get-the-last-element-of-a-splitted-string-array-in-javascript) debería responder a su pregunta; sin embargo, divida la cadena usando una barra en lugar de una coma. – Labu

Respuesta

8

Puede realizar una división rudimentaria (en una matriz) y obtener el penúltimo elemento.

var _array = url.split('/'), 
    _foo = _array[_array.length-2]; 

Usted tiene que estar atento a las direcciones URL con formato de esta manera:

http://your.domain.com/path/to/something/ 

... es decir, los que tienen detrás de la barra normal, como las que va a crear un elemento de matriz vacía al final (que puede lanzar su análisis sintáctico). Es posible que desee desinfectar su matriz primero mediante la eliminación de elementos vacíos antes de recuperar la cadena particular que realmente desea (utilizando algo como this solution).

+0

salvó mi día dos veces gracias de hecho –

3

Si la cadena siempre será de esa forma exacta (es decir, siempre tienen el mismo número de / caracteres antes de la parte que desea), entonces usted puede hacer esto:

var partYouWant = yourString.split("/")[5]; 

split hace lo que dice, y divide la cadena, utilizando la cadena especificada como delimitador (en este caso, utiliza el carácter / como delimitador). Eso devuelve una matriz, y la parte que desea está en el índice 5.

Tenga en cuenta que jQuery no le ayudará en lo más mínimo aquí. Es simple JavaScript antiguo que desea.

+0

['Demo de trabajo '] (http://jsfiddle.net/cxLuK/36/) – diEcho

Cuestiones relacionadas