You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确提取完全合格域名(FQDN)中的主机名host部分

解决方案

你原有代码的问题在于:当hostName不含.时,hostName.indexOf('.')会返回-1,而JavaScript的substring方法接收负数作为结束索引时,会自动将其转换为0,最终执行substring(0, 0)就会返回空字符串。

方案1:split方法(最简洁)

直接按.分割字符串后取第一个元素即可,无论hostName是否为FQDN都适用:

const host = hostName.split('.')[0];

方案2:兼容原有写法的判断逻辑

如果要沿用substring的写法,可以先判断是否存在.再做截取:

const dotIndex = hostName.indexOf('.');
const host = dotIndex === -1 ? hostName : hostName.substring(0, dotIndex);

内容的提问来源于stack exchange,提问作者meallhour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:18:03