I’m trying to find a relatively easy and reliable method to extract the base URL from a string variable using JavaScript (or jQuery).
For example, given something like:
http://www.sitename.com/article/2009/09/14/this-is-an-article/
I’d like to get:
http://www.sitename.com/
Is a regular expression the best bet? If so, what statement could I use to assign the base URL extracted from a given string to a new variable?
I’ve done some searching on this, but everything I find in the JavaScript world seems to revolve around gathering this information from the actual document URL using location.host or similar.
Advertisement
Answer
Edit: Some complain that it doesn’t take into account protocol. So I decided to upgrade the code, since it is marked as answer. For those who like one-line-code… well sorry this why we use code minimizers, code should be human readable and this way is better… in my opinion.
var pathArray = "https://somedomain.com".split( '/' ); var protocol = pathArray[0]; var host = pathArray[2]; var url = protocol + '//' + host;
Or use Davids solution from below.