[英]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.