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

JavaScript如何从不含https或www的字符串中提取域名形式URL

JavaScript提取无协议、无www标识域名的实现方法

针对从普通文本中提取google.com、amazon.uk这类不带http/https、www前缀的域名场景,直接用正则全局匹配是最简便的实现方式,不需要引入额外依赖。

核心实现代码

// 待匹配的测试字符串
let a =  "I visit google.com often times but.. not amazon.uk"

// 域名匹配正则
const domainMatchReg = /\b(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}\b/g
// 执行匹配
const matchResult = a.match(domainMatchReg)

console.log(matchResult) // 输出: ['google.com', 'amazon.uk']

正则规则说明

  • \b:单词边界校验,确保匹配内容前后是空格、标点等非单词字符,避免从长单词中间误截取内容
  • (?:[a-zA-Z0-9-]+\.)+:非捕获组,匹配至少一段「合法域名字符+英文点」的结构,同时支持多级域名(比如news.qq.com这类二级、三级域名场景)
  • [a-zA-Z]{2,}:匹配长度至少2位的字母顶级域,覆盖com、uk、cn、info等绝大多数通用顶级域、国家顶级域
  • 后缀g:开启全局匹配模式,一次性提取字符串中所有符合规则的域名

适配调整提示

  • 上述正则会自动过滤示例中but..这类连续点的无效内容,不会产生误匹配
  • 如果需要支持中文域名,只要在方括号的字符匹配范围内追加中文区间\u4e00-\u9fa5即可
  • 如果需要覆盖更长的顶级域(比如更长的品牌专属顶级域),可以调整{2,}的长度上限参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:57:23