Как получить расширение домена по URL с jQuery? - PullRequest
1 голос
/ 27 января 2020

Я пытаюсь получить расширение домена по URL с jQuery. Но не уверен, как охватить все возможные сценарии ios. Выделены части, которые мне нужно получить по URL;

https://www.amazon.**com**/dp/067144901X
https://www.amazon.**co.uk**/dp/067144901X
https://www.amazon.**it**/dp/067144901X
https://www.amazon.**de**/dp/067144901X

$(".get").on('click', function(event) {
  var DomainEX = $('#url').val();
  alert(DomainEX);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="url">
<button class="get">GET</button>

Ответы [ 2 ]

2 голосов
/ 27 января 2020

Вы можете конвертировать в URL, получить имя хоста:

const hostName = (new URL('https://www.amazon.com/dp/067144901X')).hostname;

Затем извлечь все, что идет после имени сайта:

const extension = hostName.split('amazon').pop()

//https://www.amazon.com/dp/067144901X
//https://www.amazon.co.uk/dp/067144901X

function getDomainExtension(url, siteName) {

  const hostName = (new URL(url)).hostname;
  const extension = hostName.split(siteName).pop()
  console.log(hostName)

  return extension;
}


$(".get").on('click', function(event) {
  var DomainEX = $('#url').val();
  const extension = getDomainExtension(DomainEX, 'amazon')
  console.log(extension)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="url">
<button class="get">GET</button>
1 голос
/ 27 января 2020

Обычно для извлечения частей из URL может пригодиться URL API . В вашем случае url.hostname, но это возвращает все части домена (включая поддомен и расширение).

Для вашего конкретного c регистра вы можете использовать немного регулярных выражений:

const getAmazonExt = url => /amazon.([^/]+)/.exec(url)[1];

 
console.log(getAmazonExt('https://www.amazon.com/dp/067144901X'))
console.log(getAmazonExt('https://www.amazon.co.uk/dp/067144901X'))
console.log(getAmazonExt('https://www.amazon.it/dp/067144901X'))
console.log(getAmazonExt('https://www.amazon.de/dp/067144901X'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...