Ada properti window.location
objek bawaan yang akan menyediakannya untuk jendela saat ini.
// If URL is http://www.somedomain.com/account/search?filter=a#top
window.location.pathname // /account/search
// For reference:
window.location.host // www.somedomain.com (includes port if there is one)
window.location.hostname // www.somedomain.com
window.location.hash // #top
window.location.href // http://www.somedomain.com/account/search?filter=a#top
window.location.port // (empty string)
window.location.protocol // http:
window.location.search // ?filter=a
Perbarui, gunakan properti yang sama untuk URL apa pun:
Ternyata skema ini sedang distandarisasi sebagai antarmuka yang disebut URLUtils , dan coba tebak? Baik yang ada window.location
objek dan anchor elemen mengimplementasikan antarmuka.
Jadi, Anda dapat menggunakan properti yang sama di atas untuk URL apa pun - cukup buat jangkar dengan URL dan akses ke properti:
var el = document.createElement('a');
el.href = "http://www.somedomain.com/account/search?filter=a#top";
el.host // www.somedomain.com (includes port if there is one[1])
el.hostname // www.somedomain.com
el.hash // #top
el.href // http://www.somedomain.com/account/search?filter=a#top
el.pathname // /account/search
el.port // (port if there is one[1])
el.protocol // http:
el.search // ?filter=a
[1]: Dukungan browser untuk properti yang menyertakan port tidak konsisten, Lihat: http://jessepollak.me/chrome-was-wrong-ie-was-right
Ini berfungsi di versi terbaru Chrome dan Firefox . Saya tidak memiliki versi Internet Explorer untuk diuji, jadi silakan menguji diri Anda dengan contoh JSFiddle.
Ada juga URL
objek yang datang yang akan menawarkan dukungan ini untuk URL sendiri, tanpa elemen jangkar. Sepertinya tidak ada browser yang stabil mendukungnya saat ini, tetapi dikatakan akan datang di Firefox 26. Ketika Anda berpikir Anda mungkin memiliki dukungan untuk itu, coba di sini .
Akan memberi Anda array yang berisi semua bagian URL, yang dapat Anda akses seperti array normal.
Atau solusi yang lebih elegan yang disarankan oleh @Dylan, dengan hanya bagian jalur:
sumber
Jika ini adalah saat penggunaan url window.location.pathname sebaliknya menggunakan ekspresi reguler ini:
sumber
/.+?\:\/\/.+?(\/.+?)?(?:#|\?|)?$/
Ada metode API Web yang berguna yang disebut URL
sumber
Jika Anda ingin mendapatkan bagian dari URL yang Anda simpan dalam variabel, saya dapat merekomendasikan URL-Parse
Menurut dokumentasi, itu mengekstrak bagian-bagian berikut:
sumber
Jika Anda memiliki string URL abstrak (bukan dari yang sekarang
window.location
), Anda dapat menggunakan trik ini:Terima kasih untuk jlong
sumber