如何使用javascript从文本中仅提取第一个URL

时间:2012-05-27 11:22:44

标签: javascript jquery

我有这个正则表达式

function isValidURL(text) {

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

        ......

    }

文字是:请使用http://google.com或如果没有找到任何内容,请在http://stackoverflow.com上提出您的问题

我需要从下面的文字中仅提取第一个网址。 (http://google.com)

以网址形式返回

2 个答案:

答案 0 :(得分: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]);​

DEMO: http://jsfiddle.net/yh5Zv/

答案 1 :(得分:0)

我认为你可以使用这个(假设你没有://在你的文本中除了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];