2010-11-10 27 views
27

Powiel możliwe:
How do I parse a URL into hostname and path in javascript?Parse URL z JavaScript

Próbuję analizować URL strony. Na przykład bieżąca strona to location.href.

Więc strona główna mojego bloga, jeśli używam alert (location.href); to zwróci "http://diaryofthedead.co.cc/" w polu ostrzeżenia. Jeśli używam alert (location.href); na stronie drugiej mojego bloga zwróci on "http://diaryofthedead.co.cc/page/2" w polu alertu. Czy istnieje sposób na przeanalizowanie adresu URL, aby uzyskać numer na końcu. Czy ktoś wie, jak mogłem to zrobić? Czy mogę użyć symbolu wieloznacznego lub czegoś takiego, aby zrobić coś takiego: location.href + "page /" + *; Podczas gdy * jest równe temu, co następuje "strona /", a następnie zmienia się * w zmienną?

+2

@jnpcl Faktycznie natknąłem się na to, zanim o to zapytam. Było to trochę przydatne, ale wciąż nie zapewniałem odpowiedzi, której szukałem. Gdybym użył odpowiedzi na to pytanie, otrzymywałbym "page/2" zamiast "2". – Tommy

Odpowiedz

27

Można użyć

var pagenum = location.pathname.match(/\/page\/(.*)/)[1]; 

To będzie wyodrębnić coś przeszłości '/ page /' w adresie URL;

7

Spójrz na dokumentacji dotyczącej obiektu lokalizacji http://www.w3schools.com/jsref/obj_location.asp

najpierw ma się „pathname” część, location.pathname

+24

To głupi powód do przegłosowania. W3Schools nie jest doskonały i często jest błędny, ale jeśli plakat sprawdził witrynę, a zawartość jednej konkretnej strony, z którą się łączył, jest w porządku, na czym polega problem? @Felix –

+0

Prawda. Każdy czasami robi głupie rzeczy. Ta strona ma dokładnie jeden błąd, jest pomniejszony i pomijany, ale jest też niewielki, więc mogę to cofnąć. –

10

URI.js to biblioteka do pracy z adresami URL. Może nie tylko analizować adresy URL, ale także oferuje prosty, płynny interfejs API (podobny do jQuery) do modyfikowania adresów URL.