Если вы просто пытаетесь разобрать URL-адрес самой страницы, вы можете просто проверить window.location.hostname
. Вы просто разделяете его на символ .
и получаете последний элемент:
var hostnameParts = window.location.hostname.split('.');
var topLevelDomain = hostnameParts[hostnameParts.length - 1];
var hostnameParts = window.location.hostname.split('.');
var topLevelDomain = hostnameParts[hostnameParts.length - 1];
console.log('This iframe\'s hostname: ' + window.location.hostname);
console.log('The top level domain: ' + topLevelDomain);
Однако, если вы собираетесь анализировать URL-адрес, когда он присутствует в строке, вам нужно будет использовать регулярное выражение:
var url = 'https://example.com/Controller/Index';
var pattern = /^https?:\/\/.*\.(.*?)\/.*$/gi;
var urlParsed = pattern.exec(url);
var topLevelDomain = urlParsed ? urlParsed[1] : null;
Пример подтверждения концепции:
document.getElementById('parseUrl').addEventListener('click', function() {
var url = document.getElementById('url').value;
var pattern = /^https?:\/\/.*\.(.*?)\/.*$/gi;
var urlParsed = pattern.exec(url);
console.log('Parsing URL string: ' + url);
if (urlParsed) {
console.log('- Top level domain: ' + urlParsed[1]);
} else {
console.log('- Unable to parse URL');
}
});
#url {
display: block;
width: 100%;
}
<input type="text" value="https://example.com/Controller/Index" id="url" />
<button type="button" id="parseUrl">Get top level domain</button>