例如,我只想提取" google"从这些提到主机名
我不想检索主机名,我只需要没有tld和subdomain的域名(如果有的话)。
等。
答案 0 :(得分:1)
简单地使用location.host
并从中提取想要的部分,这是一个可以使用的实用函数:
function extractDomainName(hostname) {
var host = hostname;
host = host.replace(/^www\./i, "");
host = host.replace(/(\.[a-z]{2,3})*\.[a-z]{2,3}$/i, "");
return host;
}
它使用整个hostname
并使用.replace()
方法仅使用regex
返回其中的域名,以仅提取域名。
你可以在这里看到它的工作原理。
<强>演示:强>
function extractDomainName(hostname) {
var host = hostname;
host = host.replace(/^www\./i, "");
host = host.replace(/(\.[a-z]{2,3})*\.[a-z]{2,3}$/i, "");
return host;
}
var tests = ["www.google.com", "www.tutorialspoint.com", "somesite.gov.fr", "www.path.co.ltd"];
tests.forEach(function(hostname) {
console.log(hostname);
console.log(extractDomainName(hostname));
});
&#13;
答案 1 :(得分:1)
使用位置对象的主机名,您可以在TLD之前检查域名。这也将忽略子域。
var domain = window.location.hostname.match(/([a-z0-9-]*?)\.[a-z]{2,}$/)[1];
console.log(domain);
&#13;