8
例如,我有以下字符串:匹配的字符串,返回的所有URL在數組中的JavaScript
var string = 'watch this video http://vimeo.com/8122132 and then see this picture http://www.flickr.com/photos/pmorgan/32606683/';
我希望能夠找到所有有效的網址,並將它們放置在一個數組,在JavaScript做(和jQuery),所以在這種情況下:
url[0] = http://vimeo.com/8122132
url[1] = http://www.flickr.com/photos/pmorgan/32606683/
現在,我只能匹配一個URL,但我希望匹配所有。這是我有:
geturl = new RegExp("(^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))");
var url = geturl.exec(string);
$('#urls').html(url[0]);
信任我,把網址[1],URL [2]等不工作:(
任何想法
爲什麼只支持'FTP | HTTP | HTTPS |鼠|郵寄地址|新聞| NNTP |遠程登錄| WAIS |文件|普洛斯彼羅|目標|?webcal''[\ W \ - ] +'將匹配例如,你的正則表達式不會匹配'google-search:foobar'。 – 2009-12-31 18:00:26
實際上,我是o只希望能夠匹配urls與oembed的支持,但我發現的模式有所有這些協議,也許我只是讓它(http | https)... – Samin 2010-01-02 12:50:59