获取带URL的字符串的Javascript函数

时间:2012-08-24 21:53:10

标签: javascript jquery regex

我有一个接收字符串的Javascript函数。 该字符串可能包含URL,有或没有http://或http / s:

示例字符串:

  

This is an example string with www.cnn.com and http://microsoft.com"

我的目的是获取该字符串并为URL注入锚标记,以便在将其作为HTML注入到html文档时可单击它们。

有什么我可以使用的吗?一些Jquery函数?

2 个答案:

答案 0 :(得分:2)

没有本机jQuery函数,但正则表达式可以执行此操作

让我指出this blog post,这会让你开始。它有一个正则表达式(可能看起来相当复杂和复杂,但并不是那么多),可以检测字符串中的链接和电子邮件,这样您就可以找到它们并用指向提取的URL的链接替换它们。 / p>

也许更好的表达方式(我知道我过去使用过)已经published by Stackoverflow's own Jeff Atwood。他还非常详细地描述了整个URL的情况,因此您可以决定这是否适用于您的问题以及是否适用于您的问题。

答案 1 :(得分:0)

如果仍然需要正则表达式:

/((www|http:\/\/)\S*)/ig


这与以下示例中的www.cnn.comhttp://www.microsoft.com匹配:

This is an example string with www.cnn.com and http://www.microsoft.com

如果您使用<a href="$1">$1</a>替换,则会获得:

<a href="www.cnn.com">www.cnn.com</a>
<a href="http://www.microsoft.com">http://www.microsoft.com</a>


请记住,此正则表达式不验证URL地址。它只搜索wwwhttp://,然后在此之后获取所有内容,直到有空格