Javascript 获取文本区域中的所有URL

Javascript 获取文本区域中的所有URL,javascript,regex,Javascript,Regex,简单的问题。给定一个可能有一些URL被复制和粘贴的文本区域,我想将它们全部解析到一个数组中。不想替换内容,但要使用Javascript将文本区域中的所有URL放到数组中 编辑 创造了一把小提琴。我让它大部分都在工作。唯一的问题是,它不会拾取查询字符串参数。也许这就是问题所在 这是我放在文本区的内容 www.google.com SSDFASDFASDF 返回两个项,但第二个项没有查询字符串参数 非常感谢您的帮助。假设它们由换行符分隔,您可以这样做: var array = document.

简单的问题。给定一个可能有一些URL被复制和粘贴的文本区域,我想将它们全部解析到一个数组中。不想替换内容,但要使用Javascript将文本区域中的所有URL放到数组中

编辑

创造了一把小提琴。我让它大部分都在工作。唯一的问题是,它不会拾取查询字符串参数。也许这就是问题所在

这是我放在文本区的内容

www.google.com SSDFASDFASDF

返回两个项,但第二个项没有查询字符串参数


非常感谢您的帮助。

假设它们由换行符分隔,您可以这样做:

var array = document.getElementById('yourTextAreasID').value.split('\n');
或者,如果URL不是textarea中的唯一内容,则必须使用正则表达式。大概是这样的:

var array = document.getElementById('yourTextAreasID').value.split(/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}([\/-a-zA-Z0-9@:%_\+.~#\?&//=]*)*/gi);

它是一个很好的正则表达式,用于查找多种格式的URL。

用于查找文本区域中的URL的正则表达式:
((?:https?:| www\)[^\s]+)


此处演示说明:

URL将采用什么格式?从http、www开始,有什么不同吗?您可以在什么样的示例文本上显示所需的结果,以便我们提供帮助?@epascarello。我不是要你做我的工作。我问了一个问题。如果你认为你需要更多的信息,那么请询问(不包括随之而来的讽刺)。我添加了一个提琴并更新了我的问题。希望你现在能展示你的魔法,然后说塔达!!Is
mysubomain.domain.com
的可能重复项不是URL?括号中的URL会发生什么情况?此外,这大大简化了URL的所有组成部分……没错,这是一个处理大多数情况的简单正则表达式,但在异常情况下会失败,这就是为什么我+1'd@Philip's answerno不使用查询字符串。好的,但是外部的
()
是不必要的,
[^\s]
只是
\s
。Phillip,添加这个,似乎锁住了我的小提琴。@SujeshArukil这实际上是因为你的while循环没有检查结果是否为空,我相信。试试看,这似乎行得通。但仍然没有查询字符串参数。@SujeshArukil。我帮你更新了。我认为它应该会起作用。“从互联网上借来的”-请添加到源的链接。
var array = document.getElementById('yourTextAreasID').value.split(/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}([\/-a-zA-Z0-9@:%_\+.~#\?&//=]*)*/gi);