我想从字符串中获取网址,但我不熟悉正则表达式或任何此类方法的使用。
例如我有3个字符串,
在我的情况下:我应该得到" www.facebook.com"作为从第一个字符串中提取的url。
我想要的只是获取字符串中的第一个url,这样我就可以使用我找到的API进行链接预览。但我正在努力使用Javascript或Jquery获取网址。该字符串将从文本框中获取,我想获取keyup上的url。
答案 0 :(得分:2)
您可以使用此功能提取给定字符串中的第一个URL:
function getFirstUrl(string) {
var pattern = /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
var match = string.match(pattern);
return match[0];
}
var string = "I've nagivated to www.facebook.com and to www.google.com";
var url = getFirstUrl(string);
// url === 'www.facebook.com'
我从this answer获得了正则表达式模式并对其进行了修改,使https://
部分可选。