我有一个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>
答案 0 :(得分:0)
这很简单......
使用正则表达式匹配电子邮件表单文本并将其替换为超链接..
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;