http://joxi.ru/E2pV0dvuBdMyvr

Получить имя поддомена сайта с JavaScript

· JavaScript и Снипеты · 1 мин чтения

Давайте представим, что у меня есть следующая ссылка: dev.bologer.ru/site и я хочу получить поддомен этого сайта (нужно получить «dev»). Что в таком случае делать? В этой записи я вам об этом расскажу.

Для получения поддомена сайта я написал небольшой кусок кода. Вам НЕ нужно jQuery и другие библиотеки, только чистый JavaScript. Данный пример работает во всех браузерах.

Код

var siteUrl = window.location.hostname;
var regex = /^([a-z0-9]{1,})./gi; // добавь еще "m" если хотите, чтобы работало для мультистрок

var res = regex.exec(siteUrl);

if( !res )
    console.log('Поддомен не найден.');
else
    console.log('Поддомен: '  + res[1]);

Объяснение кода

window.location.hostname — вернет нам полный url сайта, но без $_GET параметров (пример: ?id=1&category=socks&hash=21w7d3812..» и всего остального мусора.

/^([a-z0-9]{1,})./gi — использую регулярку для того, чтобы найти поддомен.

^ — начало строки

[a-z0-9] — ищу буквы от a-z и цифры от 0-9

{1,} — длинна должна быть от 1 символа и больше

/gi — «g» глобальный поиск по строке и «i», обозначает, что регистр не имеет значения

Далее, я использую regex и с помощью метода .exec() запускаю его с «dev.bologer.ru». В итоге в res сейчас находится массив, который выглядит вот так: ["dev.", "dev"]

Чтобы теперь вывести имя поддомена нам нужно вывести массив на позиции 1.

На этом все, приятного пользования.

Материалы