#javascript #node.js
Вопрос:
Я пытаюсь разделить строки URL на подстроки, чтобы работать только с доменным именем веб-сайта, например https://nodejs.org/api/console.html
, должно быть nodejs.org
и http://postgresql.com
должно быть postgresql.com
. Я попытался решить эту проблему со следующей строкой кода:
filePath[i].split('/').pop()
Но это работает только для URL-адресов, которые не содержат файлов после домена, например http://postgresql.com
Как я мог бы достичь такого результата?
Ответ №1:
JavaScript имеет встроенный интерфейс, который обрабатывает URL-адреса и их части с подходящими именами URL
.
Вы можете создать экземпляр URL
, используя исходную строку, а затем использовать hostname
параметр для получения доменного имени.
Следующий фрагмент показывает это в действии:
let urlString = 'https://nodejs.org/api/console.html';
let u = new URL(urlString);
console.log(u.hostname);
Более подробная информация об URL
интерфейсе находится здесь, и, в частности hostname
, свойство здесь.
Обратите внимание, что это полностью поддерживается всеми современными браузерами и Node.js, но имеет ограниченную поддержку в IE.