使用href链接替换字符串中的url - 适用于多种地址类型

时间:2014-11-12 08:14:14

标签: javascript jquery

我已经使用这个解决方案很长一段时间了:

function linkify(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp, "<a href='$1' target='_blank'>$1</a>");
}

但是,此解决方案仅转换字符串中的某些类型的网址,甚至不使用www.google.com之类的链接(需要以http://开头)

因此,我想询问是否有更合适的解决方案,最好是可以转换google.com的解决方案; mail.google.com,甚至del.icio.us以及电子邮件地址。

我在寻找太多了吗?我们可以在大多数地方实时看到这种情况 - 正确的路线是什么?

1 个答案:

答案 0 :(得分:0)

查看此regexr:http://www.regexr.com/39suhhttp等放入匹配的组中,并在网址中输入.。我确信这不是最理想的解决方案,但它可以正常工作......

(\b((https?|ftp|file):\/\/)?[A-Z0-9.]*\.[-A-Z0-9+&@#\/%=~_.|]+)