2013-05-14 11 views
7

Ho bisogno valore hash da url ...Come rimuovo il segno # dai dati hash? jquery?

var hash = window.location.hash; 

Quindi, come faccio a sbarazzarsi di # segno?

+0

possibile duplicato di [Qual è la differenza tra slice() e substr() in JavaScript?] (http://stackoverflow.com/questions/4546284/what-is-the-difference-between-slice-and-substr-in-javascript) –

+1

@ alex23 relax. Non riesco ancora ad approvare la risposta, 1 minuto rimanente. –

risposta

11

Facile come quello.

var hash = window.location.hash.substr(1) 

ci sono anche questi due che restituiscono la stessa identica:

var hash = window.location.hash.slice(1) 
var hash = window.location.hash.substring(1) 

String.slice() è stato aggiunto alla specifica un po 'più tardi, anche se questo è stata riordinata poco importante.

L'utilizzo di sostituzione come indicato di seguito è anche un'opzione.

Nessuna di queste opzioni genera un errore o un avviso se la stringa window.location.hash è vuota, quindi in realtà dipende dalle preferenze dell'utente su cosa utilizzare.

0

Si può semplicemente fare

var hash = window.location.hash.slice(1); 

Si noti che non produce un errore se non v'è alcun hash nella posizione, appena ritorna "".

1

appena tagliato il primo carattere:

var hash = window.location.hash.slice(1); 
3

È possibile farlo -

hash = hash.replace(/^#/, ''); 
+0

Penso che 'hash.replace ('#', '')' è più sicuro di 'slice (1)' – rab

+0

In questo caso probabilmente si vorrà usare 'hash.replace (/^# /, '')' rimuovi esclusivamente un numero iniziale #, non quelli che fanno parte dell'hash. – MildlySerious

0

window.location.href.substr(0, window.location.href.indexOf('#')) farà il trucco

Problemi correlati