检测电子邮件ID并添加超链接

时间:2017-11-03 16:46:17

标签: javascript

我有一个HTML代码,它是从后端生成的,我只能使用html页面。我无法控制后端代码。我想使用 JavaScript 为所有电子邮件地址添加超级链接。这是html,我只有3行,可以很多。

<div class="content">
    Title: dev<br>
    Phone: 1234567890<br>
    Email: test@test.com<br>
</div>
<div class="content">
    Title: dev<br>
    Phone: 1234567890<br>
    Email: test@test.com<br>
</div>
<div class="content">
    Title: dev<br>
    Phone: 1234567890<br>
    Email: test@test.com<br>
</div>  

1 个答案:

答案 0 :(得分:0)

这很简单......

使用正则表达式匹配电子邮件表单文本并将其替换为超链接..

&#13;
&#13;
var text =  document.querySelectorAll('div.content');
   
 //use your reg here...
var emailReg = /(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/igmu ;

text.forEach(function(item){
  var textInner = item.innerHTML;

  var email = textInner.match(emailReg)[0];

  var emailHype = `<a href="mailto:${email}">${email}</a>`;

  var textInner = textInner.replace(emailReg ,emailHype);
  item.innerHTML = textInner;
  
});
&#13;
<div class="content">abc@gmail.com</div>
<div class="content">
    Title: dev<br>
    Phone: 1234567890<br>
    Email: test@test.com<br>
</div>
<div class="content">
    Title: dev<br>
    Phone: 1234567890<br>
    Email: test@test.com<br>
</div>
&#13;
&#13;
&#13;