3

我有这个正则表达式

function isValidURL(text) {

        var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

        ......

    }

文字是:请使用http://google.com或者如果没有发现任何问题,请在http://stackoverflow.com上提问

我只需要从下面的文本中提取第一个 url。(http://google.com)

作为网址返回

4

2 回答 2

2

你的意思是这样的:

var text = "Please visit http://stackoverflow.com and ask your question, or use http://google.com";

var match = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/​​​​​​​​​​​​.exec(text)​​​​​​​;

​console.log(match[0]);​

演示:http: //jsfiddle.net/yh5Zv/

于 2012-05-27T11:29:32.883 回答
1

我认为您可以使用它(前提是您的文本中除了 url 本身之外没有 ://):-

var text = "Please visit http://stackoverflow.com and ask your question, or use http://google.com";

var text_split = text.split('://'); 
var text_req = text_split[1].(" "); // splitting with blank space 

var finalURL = "http://" + test_req[0];
于 2012-05-27T11:30:22.193 回答