JSFiddle - React, Tailwind, and code Playground
HTML
<div id="text"></div>
JavaScript
//var mess = 'Если нет повторяющихся ссылок, то все ОК - www.google.com, http://ya.ru, site.com';
var mess = 'Если ЕСТЬ две одинаковые, то все Не работает - www.google.com, www.google.com, site.com';
var reg = /((([A-Za-z]{3,9}):\/\/)*?([-;:&=\+\$,\w]+@{1})?(([-A-Za-z0-9]+\.)+[A-Za-z]{2,3})(:\d+)?((\/[-\+~%\/\.\w]+)?\/?([&?][-\+=&;%@\.\w]+)?(#[\w]+)?)?)/igm;
pregMatch = mess.match(reg);
var regHttp = /http/igm;
for(var key in pregMatch){
var val = pregMatch[key];
if(regHttp.test(val) == true){
//alert("est");
mess = mess.replace(val, '<a href="' + val + '">' + val + '</a>')
}else{
//alert("net");
mess = mess.replace(val, '<a href="http://' + val + '">' + val + '</a>')
}
}
$("#text").html(mess);