Jak odstranit řetězec dotazu z adresy URL pomocí JavaScriptu

Chcete-li odstranit řetězec dotazu z adresy URL v JavaScriptu:

  1. Použijte URL() konstruktor pro převod řetězce adresy URL na instanci objektu.
  2. Nastavte search a hash vlastnosti instance objektu na prázdný řetězec '' .
  3. Použijte toString() způsob, jak získat upravenou adresu URL.
let url = `https://example.com?size=M&size=XL&price=29&sort=desc#clicked`

const obj = new URL(url)
obj.search = ''
obj.hash = ''

url = obj.toString()
console.log(url)
// https://example.com/

URL objekt se používá k analýze, konstrukci, normalizaci a kódování adres URL v JavaScriptu. Poskytuje statické metody a vlastnosti pro čtení a úpravu různých součástí URL.

Případně můžete také použít split() metoda pro rozdělení řetězce na otazník a přístup k prvku pole na indexu 0 :

let url = `https://example.com?size=M&size=XL&price=29&sort=desc#clicked`

url = url.split('?')[0]
console.log(url)
// https://example.com

V případě, že adresa URL neobsahuje žádný řetězec dotazu a adresa URL obsahuje pouze hash, použijte místo toho následující postup:

let url = `https://example.com#clicked`

url = url.split(/[?#]/)[0]
console.log(url)
// https://example.com