28

Possible Duplicate:
How do I parse a URL into hostname and path in javascript?

I’m trying to parse the url of the page. For example the current page is location.href.

So the main page of my blog, if I use alert(location.href); it will return “http://diaryofthedead.co.cc/” in an alert box. If I use alert(location.href); on page two of my blog, it will return “http://diaryofthedead.co.cc/page/2” in an alert box. Is there any way to parse the URL to get the number at the end. Does anyone know how I could do that? Could I use wildcard or something, to do something like: location.href+”page/”+*; While * is equal to whatever follows “page/”, and then turn * into a variable?

1
  • 2
    @jnpcl I actually came across that before asking this. It was a bit useful, but still didn't provide the answer I was looking for. If I used the answer to that question, I would get "page/2" instead of "2". Commented Nov 10, 2010 at 1:10

4 Answers 4

28

You can use

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

It will extract anything past '/page/' in your URL;

Sign up to request clarification or add additional context in comments.

Comments

14

Checkout this package jsuri

Or keep it simple http://james.padolsey.com/javascript/parsing-urls-with-the-dom/

1 Comment

The second link is really clever.
10

URI.js is a library for working with URLs. It can not only parse URLs, but also offers a simple fluent API (jQuery like) for modifying URLs.

Comments

9

Take a look at the documentation on the location object http://www.w3schools.com/jsref/obj_location.asp

You first want the "pathname" part, location.pathname

2 Comments

That's a stupid reason to downvote. W3Schools isn't perfect and is often wrong, but if the poster checked the site and the contents of the one particular page he linked to are fine, what's the problem? @Felix
True. Everybody does stupid stuff sometimes. That page has exactly one mistake, and it's minor, and an omission, but it's minor as well, so I'd undo that.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.