How To Get URL And URL Parts In JavaScript?
Last Updated :
25 Sep, 2024
In web development, working with URLs is a common task. Whether we need to extract parts of a URL or manipulate the URL for navigation, JavaScript provides multiple approaches to access and modify URL parts. we will explore different approaches to retrieve the full URL and its various components.
These are the following approaches to get URL And URL Parts In JavaScript:
Using window.Location
Object
The window.location
object contains information about the current URL of the document. It provides various properties to access different parts of the URL.
Syntax:
window.location.href; // Full URL
window.location.hostname; // Domain name
window.location.pathname; // Pathname
window.location.protocol; // Protocol (http/https)
window.location.search; // Query string
window.location.hash; // Fragment (anchor part)
Example: This example retrieves different parts of the URL using a window. Location. It’s particularly useful for accessing the current URL of the webpage.
JavaScript
// index.js
// Accessing different parts of the current URL
// Full URL
console.log(window.location.href);
// Domain name
console.log(window.location.hostname);
// Pathname
console.log(window.location.pathname);
// Protocol
console.log(window.location.protocol);
// Query string
console.log(window.location.search);
// Fragment identifier
console.log(window.location.hash);
Output:
OUtputUsing URL
Constructor
The URL
constructor provides a more flexible way to work with URLs in JavaScript. We can create a new URL
object and extract various components from it.
Syntax:
let url = new URL(urlString);
url.href; // Full URL
url.hostname; // Domain name
url.pathname; // Pathname
url.protocol; // Protocol
url.search; // Query string
url.hash; // Fragment identifier
Example: The URL constructor is a flexible way to parse a URL string and extract its components. It works for URLs outside the current window, unlike window.location, which only works for the current page's URL.
JavaScript
// index.js
// Create a new URL object from a string
const url = new URL("https://www.example.com:8080/page?name=John#section1");
// Full URL
console.log(url.href);
// Domain name
console.log(url.hostname);
// Pathname
console.log(url.pathname);
// Protocol
console.log(url.protocol);
// Query string
console.log(url.search);
// Fragment identifier
console.log(url.hash);
Outputhttps://www.example.com:8080/page?name=John#section1
www.example.com
/page
https:
?name=John
#section1
Using split()
Method on URL String
If we don't need the complexity of objects like window.location
or URL
, a simple string manipulation using split()
can be used to extract different parts of the URL manually.
Syntax:
urlString.split(delimiter); // Split the URL by the delimiter
Example: This method manually splits the URL string based on known delimiters (://, /, :) to extract components. It's a quick way to get URL parts without using any built-in objects, though it’s less robust compared to other approaches.
JavaScript
// index.js
// URL string
const urlString = "https://www.example.com:8080/page?name=John#section1";
// Splitting the URL by different delimiters
const [protocol, rest] = urlString.split("://");
const [domainAndPort, pathAndQuery] = rest.split("/");
const [domain, port] = domainAndPort.split(":");
// Protocol
console.log(protocol);
// Domain
console.log(domain);
// Port
console.log(port);
// Path and Query
console.log(pathAndQuery);
Outputhttps
www.example.com
8080
page?name=John#section1