2013-05-14 11 views
7

muszę wartość hash z URL ...Jak usunąć znak # z danych hash? jquery?

var hash = window.location.hash; 

Więc jak mogę pozbyć # znak?

+0

możliwy duplikat [Co to jest różnica między plaster() i substr() w JavaScript?] (http://stackoverflow.com/questions/4546284/what-is-the-difference-between-slice-and-substr-in-javascript) –

+1

@ alex23 relax. Nadal nie mogę zatwierdzić odpowiedzi, pozostała 1 min. –

Odpowiedz

11

To proste.

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

Istnieje również te dwa które zwracają dokładnie takie same:

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

String.slice() dodano spec nieco później, chociaż jest propably znaczenia.

Użycie zamiennika, jak wspomniano poniżej, jest również opcją.

Żadna z tych opcji nie powoduje błędu lub ostrzeżenia, jeśli ciąg znaków window.location.hash jest pusty, więc to naprawdę zależy od preferencji, czego należy użyć.

0

Można po prostu zrobić

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

pamiętać, że nie wywołuje błąd, jeśli nie ma mieszania w danym miejscu, to po prostu zwraca "".

1

Wystarczy wyciąć pierwszy char:

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

można to zrobić -

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

Myślę, że 'hash.replace ('#', '')' jest bezpieczniejsze niż 'slice (1)' – rab

+0

W takim przypadku prawdopodobnie będziesz chciał użyć 'hash.replace (/^# /, '')' usuwasz tylko wiodące '# ', a nie te, które są częścią hasha. – MildlySerious

0

window.location.href.substr(0, window.location.href.indexOf('#')) rade

Powiązane problemy