javascript只返回字符串的一级域名

标签 javascript string

在我的项目中,我有很多包含各种格式的域名和子域名的字符串。

我需要一个 JavaScript 函数,它只返回字符串中的第一级域名,例如:

string: https://www.example.com/test/intro.php
return: www.example.com

string: http://www.test.fr/
return: www.test.fr

string: http://mysite.eu/portal/
return: mysite.eu

[...]

是否存在在每种情况下都能实现此目标的函数?

最佳答案

创建 anchor 元素并使 href 成为字符串。

var a  = document.createElement('a');
a.href = data;

从中获取主机名。

a.hostname

同样,您也可以获取协议(protocol)和其他属性。

a.protocol; // => "http:"
a.host;     // => "example.com:5000"
a.hostname; // => "example.com"
a.port;     // => "5000"
a.pathname; // => "/pathname/"
a.hash;     // => "#value"
a.search;   // => "?q=test"

这是回答你问题的函数

function getDomainFromURL(data) {
     var a = document.createElement('a');
     a.href = data;
     return a.hostname;
}

关于javascript只返回字符串的一级域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20328571/

相关文章:

javascript - div改变位置时有路径的概念吗?

javascript - jQuery:ASP.NET 内容页面中预期的对象

javascript - 在javascript中查找对象(在另一个对象内)内的最长数组

c++ - 想要 ostringstream 修改传递的字符串

c# - 字符串格式 - 如何更改负号位置

javascript - 在 Javascript 中旋转图像时奇怪的定位问题

javascript - Angular ng-options 以简单字符串数组中的值为条件

c - ELF 文件中的字符串是如何编码的?

java - Java中的多个同时子字符串替换

c# - 为什么我可以将空条件运算符应用于硬编码字符串?