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

如何使用JavaScript提取HTML中含mailto的a标签href属性值?

提取HTML中所有mailto格式的邮箱地址

我需要从这份HTML文档中提取所有邮箱地址。文档中有若干条目,每个条目以div开头并包含多个span元素,其中包含邮箱的条目带有<a>标签,且href属性格式为mailto:abc@gmail.com
请问如何使用JavaScript遍历并提取所有这类href属性值?

方法一:全局匹配所有mailto链接

直接选择页面中所有href属性以mailto:开头的<a>标签,快速提取邮箱:

// 获取所有带mailto前缀的a标签
const mailtoLinks = document.querySelectorAll('a[href^="mailto:"]');

// 转换为数组并提取邮箱(去除mailto:前缀)
const emails = Array.from(mailtoLinks).map(link => link.href.replace('mailto:', ''));

console.log(emails); // 输出所有提取到的邮箱地址

方法二:仅在目标div条目内查找

如果需要精准限定在以div开头的条目里查找,可先定位这些div,再遍历内部元素:

// 获取所有目标div条目(可根据实际给div加类名,比如div.item)
const targetDivs = document.querySelectorAll('div');
const emails = [];

targetDivs.forEach(div => {
  // 在当前div的span元素内查找mailto链接
  const links = div.querySelectorAll('span a[href^="mailto:"]');
  links.forEach(link => {
    emails.push(link.href.replace('mailto:', ''));
  });
});

console.log(emails);

处理带参数的mailto链接

如果href包含额外参数(如mailto:abc@gmail.com?subject=反馈),可以用正则提取纯邮箱地址:

const email = link.href.match(/mailto:([^?]+)/)[1];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:12:46