簡體   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