我正在研究链接预览脚本,例如fb使用它。用户创建可能包含链接的帖子。在每个keyup上我测试最后一个键是否是空格键,如果是这样的话我运行我的函数:
function link_preview(event)
{
var replyText = $("#answer_two").val();
if(event.keyCode == 32)
{
var match = /^(?:[a-z]*?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/i.exec(replyText);
if(match!="")
{
var preview = match[0];
}
}
}
因此用户键入包含链接的文本。检测到链接时,将显示预览,其中包含从此URL获取的信息。用户可以选择关闭此预览并添加另一个链接,这正是我的问题开始的地方。我无法访问第二个网址而忽略第一个网址。如果将第三个网址添加到组合中,所有这一切变得更加复杂。 有没有人建议如何工作?
答案 0 :(得分:1)
您是否尝试过将全局参数添加到" g"的正则表达式中?在你旁边"我"在你的正则表达式的末尾所以它看起来像:
/^(?:[a-z]*?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/gi
在这种情况下,您将在需要循环的字符串中获得多个匹配项。
实际修复时的参考:http://jsfiddle.net/ps1rf1uw