替换链接
function link() {
let t = document.getElementById('jsContainer')
let reg = /(https?:\/\/)?(www\.\w+(\.(com|cn))*([?]\w+=\w*(&\w+=\w*)*)?(#\w+)?)/g
let textArr = []
// 1.识别所有以http://、https://或者www.开始的链接
textArr =t.innerHTML.match(reg)?Array.from(t.innerHTML.match(reg)): []
// 2.添加链接标签
textArr.forEach(item => {
if (item.indexOf('www.') == 0) {
t.innerHTML = t.innerHTML.replace(item, `<a href="http://${item}" target="_blank">${item}</a>`)
} else {
t.innerHTML = t.innerHTML.replace(item, `<a href="${item}" target="_blank">${item}</a>`)
}
})
}
示例
function test1() {
var content = 'https';
var div = document.getElementById('jsContainer');
div.innerHTML = content;
link();
var result = div.innerHTML === content;
return result;
}
function test2() {
var content = ' www.testhaha.com ';
var div = document.getElementById('jsContainer');
div.innerHTML = content;
link();
var aLink = div.getElementsByTagName('a') || [];
var result = aLink.length === 1 && aLink[0].getAttribute('href') === 'http://www.testhaha.com' && aLink[0].getAttribute('target') === '_blank' && aLink[0].innerHTML === 'www.testhaha.com';
return result;
}
test1()
test2()