-1

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

编辑

http://jsfiddle.net/sujesharukil/hyEem/19/

创造了一个小提琴。我大部分时间都在工作。唯一的问题是,它不获取查询字符串参数。可能这应该是问题所在。

这是我放在文本区域的

www.google.com ssdfsdfasdfasdf http://someplace.com?x=sdfsdf

regex = new RegExp(/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi);

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

帮助将不胜感激。

4

2 回答 2

2

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

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。

于 2013-03-21T18:32:45.460 回答
2

用于在文本区域中查找 url 的正则表达式:((?:https?:|www\.)[^\s]+)
在此处解释演示:http ://regex101.com/r/vZ0aE9

于 2013-03-21T18:37:21.070 回答