Как мне разобрать URL в имя хоста и путь в JavaScript

Как я могу получить путь по указанному ниже URL-адресу?

file:///index.html/temp/data

Я понимаю, что /temp/data - это путь.

window.location.pathname дает мне index.html/temp/data

Всего 4 ответа


К сожалению, если ваш URL-адрес file: ///index.html/temp/data, то путь будет следующим после file: //, поэтому в вашем случае он должен возвращать /index.html/temp/data.

Я не думаю, что есть решение для этого.

Чтобы решить проблему выше, вы можете попробовать сделать

window.location.pathname.split('.html/')[1]

Вы можете использовать RegExp.match чтобы получить желаемый путь

let [path] = 'index.html/temp/data'.match(/(/w*)+/);
console.log(path)

let [path2] = 'index.htm/temp/data'.match(/(/w*)+/);
console.log(path2)


Попробуй это:

console.log (new URL("file:///index.html/temp/data")).

Это позволит зарегистрировать объект с различными свойствами, такими как hostname и pathname который, я думаю, именно то, что вы ищете.

Надеюсь, это поможет!


Если это страница, которую вы загрузили, вы можете использовать location.pathname чтобы указать путь.

В противном случае, если это просто строка, у вас есть string.split('/')[3] но вам, вероятно, следует выполнить некоторую проверку, чтобы убедиться, что она всегда после 4-й '/'


Есть идеи?

10000