简单的问题。给定一个文本区域可能有一些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);
返回两个项目,但第二个项目没有查询字符串参数。
帮助将不胜感激。
答案 0 :(得分: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。
答案 1 :(得分:2)
RegEx用于在textarea中查找网址:((?:https?:|www\.)[^\s]+)
在此解释演示:http://regex101.com/r/vZ0aE9