How to extract the hostname portion of a URL in JavaScript
suppose that you have a page with this address: http://sub.domain.com/virtualPath/page.htm
. use the following in page code to achieve those results:
window.location.host
: you'll getsub.domain.com:8080
orsub.domain.com:80
window.location.hostname
: you'll getsub.domain.com
window.location.protocol
: you'll gethttp:
window.location.port
: you'll get8080
or80
window.location.pathname
: you'll get/virtualPath
window.location.origin
: you'll gethttp://sub.domain.com
*****
Update: about the .origin
***** As the ref states, browser compatibility for window.location.origin
is not clear. I've checked it in chrome and it returned http://sub.domain.com:port
if the port is anything but 80, and http://sub.domain.com
if the port is 80.
Special thanks to @torazaburo for mentioning that to me.
You could concatenate the location protocol and the host:
var root = location.protocol + '//' + location.host;
For a url, let say 'http://stackoverflow.com/questions'
, it will return 'http://stackoverflow.com'