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

使用正则从URL提取纯小写字母域名的JS函数问题求助

修正后的正则提取函数

原函数的问题

  • 正则表达式错误地用字符串包裹并包含/和/i标志,导致match无法正确解析正则规则
  • 捕获组索引错误,返回的matches[1]是协议前缀(如https://www.),而非目标域名部分
  • 域名匹配逻辑未限制仅提取[a-z]字符,(.*)+会匹配任意字符,无法实现遇到非字母即停止的需求

修正后的函数

const getHostnameFromRegex = (url) => {
    // 匹配协议前缀、可选www,捕获开头连续的纯字母部分
    const matches = url.match(/^(https?:\/\/)?(www\.)?([a-z]+)[^a-z]/i);
    // 返回捕获到的字母部分,转小写确保符合[a-z]要求
    return matches ? matches[3].toLowerCase() : null;
};

函数说明

  • ^(https?:\/\/)?:匹配可选的http://或https://协议前缀,?:标记为非捕获组,避免占用有效捕获位
  • (www\.)?:匹配可选的www.前缀,不影响目标捕获组
  • ([a-z]+):核心捕获组,匹配连续的1个及以上字母,通过/i标志忽略大小写
  • [^a-z]:匹配第一个非字母字符,确保仅提取域名中开头的纯字母段
  • 最终将捕获结果转小写,严格保证返回值仅包含[a-z]字符

测试示例

  • 输入https://google.com → 返回google
  • 输入https://google22.com → 返回google
  • 输入http://www.Example123.net → 返回example
  • 输入baidu.cn → 返回baidu

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 09:50:29