2011-09-29 14 views
5

ho HA avuto questi tipi di HREFCome ottenere valore prima di ultima barra utilizzando 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 

Ora ho bisogno di scrivere una funzione che avrà questo come input e restituirà "tour-and-safaris- prenotazione-inchiesta-form".

Si prega di suggerire !!

+1

[Questa risposta] (http://stackoverflow.com/questions/651563/get-the-last-element-of-a-splitted-string-array-in-javascript) dovrebbe rispondere alla domanda; tuttavia, dividere la stringa utilizzando una barra anziché una virgola. – Labu

risposta

8

È possibile eseguire uno split rudimentale (su un array) e ottenere il penultimo elemento.

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

Devi guardare fuori per gli URL formattati in questo modo:

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

... cioè quelli con il trascinamento in avanti barre, come quelli creerà un elemento di matrice vuota alla fine (che può buttare via la tua analisi). Potresti voler disinfettare il tuo array rimuovendo prima gli elementi vuoti prima di recuperare la particolare stringa che desideri (usando qualcosa come this solution).

+0

hai salvato la mia giornata due volte grazie –

3

Se la stringa sarà sempre di quella forma esatta (ovvero sempre lo stesso numero di / caratteri prima la parte che si desidera), allora si può fare questo:

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

split fa quello che dice, e divide la stringa, usando la stringa specificata come delimitatore (in questo caso, usa il carattere / come delimitatore). Questo restituisce un array e la parte che desideri è nell'indice 5.

Nota che jQuery non ti aiuterà nel minimo qui. È semplicemente il vecchio JavaScript che vuoi.

+0

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

Problemi correlati