如何识别链接

时间:2015-06-09 13:59:02

标签: javascript html

我有这个小提琴https://jsfiddle.net/kz935gge/5/,您可以在其中键入文字并在聊天视图中显示它。

如果可能的话,我想让链接得到认可。

例如,如果您输入http://www.google.com,则可以看到该链接未被识别。

function sendMessage()
{

    var myDate = new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
    var mm = document.getElementById("myMessage").value;
    var mainDiv = document.getElementById("mainblock");
    var para = document.createElement("p");
    var node = document.createTextNode(myDate+"(Me) :"+mm);
    para.appendChild(node);
    var element = document.createElement('div');
    element.appendChild(para);
    element.className = 'bubble bubble-alt yellow';
    mainDiv.appendChild(element);    
}

关于如何实现这一目标的任何建议?

由于

1 个答案:

答案 0 :(得分:2)

使用正则表达式替换链接:

.replace(/((?:https?:\/\/|www)[^\s]+)/g,"<a href='$1'>$1</a>")

在此处进行更新:https://jsfiddle.net/kz935gge/10/

已更新解答以支持https

想要更新这个答案,以引起对 zzzzBov 的评论&#34; 这是一个非常天真的正则表达式,并且未能正确地逃避其内容链接使其易受XSS攻击&#34;

这只是一个起点,需要做更多的工作才能确保安全。