Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使链接被识别_Javascript_Html - Fatal编程技术网

Javascript 如何使链接被识别

Javascript 如何使链接被识别,javascript,html,Javascript,Html,我有一把小提琴,你可以在上面键入文本,然后像在聊天视图中一样显示出来 我想使链接识别,如果可能的话 例如,如果键入,您可以看到链接无法识别 function sendMessage() { var myDate = new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"); var mm = document.getElementById("myMessage").value; var main

我有一把小提琴,你可以在上面键入文本,然后像在聊天视图中一样显示出来

我想使链接识别,如果可能的话

例如,如果键入,您可以看到链接无法识别

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);    
}
关于如何实现这一点,有什么建议吗


谢谢

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

.replace(/(((?:https?:\/\/\/;www)[^\s]+)/g,”)

更新如下:

已更新答案以支持https


想要更新此答案以提请注意zzzzBov的评论“这是一个非常幼稚的正则表达式,无法正确地避开链接内容,使其容易受到XSS攻击”


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

重新编码是什么意思?你的聊天中的链接是你的意思吗?看看答案,用Regexi检测链接如果你在输入中键入一个链接,然后单击send,你可以看到该链接是不可单击的…好吧,但是我们如何在没有代码的情况下在小提琴中测试这一点,以使聊天正常工作。因为我看了小提琴,看不到我发送的消息,所以这里是一个测试的好地方,也可以详细解释这个正则表达式字符串的作用:这是一个非常幼稚的正则表达式,无法正确地转义链接的内容,这使得它容易受到XSS攻击。