Извлечение базового домена / eTLD + 1 из URL - PullRequest
0 голосов
/ 16 октября 2018

Я сейчас пишу WebExtension.В этом расширении мне нужно разобраться с кучей URL-адресов в JS и извлечь базовый домен (он же eTLD + 1).

Итак

  • www.cnn.com => cnn.com
  • cnn.com => cnn.com
  • www.world.cnn.com => cnn.com
  • www.bbc.co.uk => bbc.co.uk
  • ...

Как видно из примеров, не существует простого способа извлечь все.Фактически, официальный список имеет длину ~ 12 000 строк.

Я знаю, что браузеры могут делать это внутренне.Интересно, есть ли стандартный способ сделать это в JS?

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Кажется, что нет никакого JavaScript API, но следующий модуль Node выглядит так, как будто он делает свое дело: https://www.npmjs.com/package/publicsuffixlist

0 голосов
/ 16 октября 2018

Вы можете использовать String.replace с регулярным выражением:

var url = "https://www.test.com";
var base = url.replace(/(https?:\/\/)?(www.)?/gi,"");

console.log(base)
...