javascript - 如何从 url 中获取父域没有子域
问题描述
我很长时间以来一直在尝试这个,需要一个 JavaScript 函数来从 URL 中提取父域。
输入
https://app.domainname.io
http://domainname.net
https://domainname.com
https://app.domain.com
https://www.google.co.in
http://dev2- aa.domain-name.com
https://app.domain.co.in
输出
domainname.io
domainname.net
domainname.com
domain.com
google.co.in
domain-name.com
domain.co.in
谢谢
解决方案
此解决方案可能并不完美,但适用于您的示例数据:
function extractDomain(url) {
return url.match(/https?:\/\/(?:\S+\.)*(\S{3,}(?:\.\S{1,3}){1,2})/)[1]
}
解释:
https?:\/\/
: 寻找 http 或 https
(?:\S+\.)*
:匹配但不捕获任意数量的子域
(\S{3,}(?:\.\S{1,3}){1,2})
:捕获域和 TLD。详细地:
S{3,}
: 寻找更长的东西,应该是域部分(例如。google
)。这并不完美,因为 2 个字母长的域名不匹配。
(?:\.\S{1,3}){1,2}
:匹配 TLD 部分:单个 TLD(例如.com
)或两个短部分(例如.co.in
)。
推荐阅读
- html - div不会填充父div
- excel - 按值除列
- sql - 我的程序有什么问题,我的程序中的数据有误
- c++ - 关于 linear_congruential_engine::min() 的问题
- c++ - 使用 xtensor 进行线性代数时未解决的外部符号错误
- javascript - 使用 Angular 导航到文档中的特定位置
- api - 没有足够的权限在 LinkedIn Learning API 中访问 /me GET
- visual-studio-code - 如何更改主题元素颜色?
- java - 如何在 Java 中向我的 MDI GUI 添加弹出消息
- python - 如何将数据框重塑为 [colName, rowName, value] 格式?