Как разделить различные строки URL-адреса на подстроки

#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.