как извлечь имя домена из строки в javascript
Ответы
Ivan Mamtsev
6 дней назад
Наиболее современный и простой в синтаксисе способ будет использовать встроенный объект URL
, который позволяет парсить URL-адреса.
// Создаём объект URL из строки
const url = new URL('https://subdomain.example.com/path?param=value');
// Получаем домен (hostname включает поддомены)
console.log(url.hostname); // "subdomain.example.com"
// Получаем только основной домен с TLD
console.log(url.host.split(':')[0]); // "subdomain.example.com" (без порта, если он был)
// Если нужно получить только домен второго уровня с TLD
const getDomain = (urlString) => {
const url = new URL(urlString);
const parts = url.hostname.split('.');
// Обрабатываем случаи вида example.com и www.example.com
if (parts.length <= 2) return url.hostname;
// Берём последние две части для получения домена с TLD
return parts.slice(-2).join('.');
};
console.log(getDomain('https://www.example.com')); // => "example.com"
console.log(getDomain('https://sub.example.com')); // => "example.com"
console.log(getDomain('https://deep.sub.example.com')); // => "example.com"
0
0