繁体   English   中英

添加mailto:在每封电子邮件之前

[英]add mailto: before every email

嘿,所以我有一个包含一堆人和电子邮件地址的 html 表。 我想在每封电子邮件之前添加 mailto:。 有没有办法使用javascript,或者最好是vscode中的查找/替换函数?

  <tr>
    <td>Mrs. john doe</td>
    <td></td>
    <td>first.last4@example.com</td>
    <td>Principal</td>
</tr>
<tr>
    <td>Mr. jerremy fields</td>
    <td></td>
    <td>first.last@example.com</td>
    <td>Deputy</td>
</tr>
<tr>
    <td>Mrs. rebecca statin</td>
    <td></td>
    <td>first.last@example.com</td>
    <td>Deputy</td>
</tr>

我尝试使用这样的 vscode 查找/替换:

查找: .+?..+?@example.com替换: <td>mailto:.+?..+?@example.com

查找有效,但是当我尝试替换实际的 '.?' 正在被替换而不是之前的通配符表达式

提前致谢

您可以使用下面的代码。 记住 - 对于 mailto: 工作,它需要在一个<a>

将 CSS 类添加到<td>将使代码更易于维护,因为如果表结构发生变化,仍然可以访问电子邮件地址。

<td class="email">email@example.com</td>

const emails = document.querySelectorAll(".email");

 const emails = document.querySelectorAll("tr td:nth-of-type(3)"); emails.forEach(e => e.innerHTML = '<a href="mailto:' + e.textContent + '">' + e.textContent + '</a>');
 <table> <tr> <td>Mrs. john doe</td> <td></td> <td>first.last4@example.com</td> <td>Principal</td> </tr> <tr> <td>Mr. jerremy fields</td> <td></td> <td>first.last@example.com</td> <td>Deputy</td> </tr> <tr> <td>Mrs. rebecca statin</td> <td></td> <td>first.last@example.com</td> <td>Deputy</td> </tr> </table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM