2017-04-04 52 views
0

我不知道如何获得div contenteditable中的第一个链接(文本类型)。在我的事业部,我的价值是:获取Div中contenteditable的第一个链接用Javascript

<div id="content" contenteditable="true" value="http://google.com and other string but i only get the link"></div> 

我想只有http://google.com

而第二个问题,当值http://google.com http://yahoo.com我想只得到第一个链接http://google.com

我使用jQuery与key contenteditable中的关键事件。希望你能帮助我,谢谢!

更新我的代码:

$(document).ready(function() 
{ 
    $("#content").keyup(function(){ 
    var link = $("content").text(); 
    console.log(link); 
    }); 
} 

和HTML

<div id="content" contenteditable="true"></div> 
+0

你可以在Jsfiddle中做一个演示,它会更详细地描述它。 – Manwal

+0

显然你有一些代码,请显示它的相关部分。 – Teemu

+0

是的,对不起,我会更新我的问题 –

回答

0

考虑下面的代码:

$(document).ready(function() { 
    $("#content").keyup(function(){ 
    var link = $("#content").text().match(/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,})/i)[1]; 

    alert(link); 
    }); 
}); 

我已经取得了一些纠正和补充的正则表达式匹配的URL。

DEMO

+0

是的,它似乎工作良好,谢谢! –

相关问题