我正在开发Chrome扩展程序。我想要完成的是,当我打开收到的电子邮件时,应该检测到电子邮件文本中的URL,并且警告框应该显示从文本返回的URL。到目前为止我所做的是:
function urlify(text) {
var urlRegex = /(https?:\/\/[^\s]+)/g;
return text.replace(urlRegex, function(url) {
return url;
})
}
var text = document.getElementsByClassName("adn ads")[0].innerText;
var html = urlify(text);
此代码检测URL,但也返回其余文本。我只想让这个函数返回指定检测到的URL。
答案 0 :(得分:1)
我发现一个非常简单的解决方案:
function urlify(text) {
var urlRegex = /(https?:\/\/[^\s]+)/g;
return text.match(urlRegex, function(url) {
return url;
})
}
var text = document.getElementsByClassName("adn ads")[0].innerText;
var html = urlify(text);
console.log(html[0]);
答案 1 :(得分:0)
您可以使用String#match
来获取匹配的网址。它返回一个数组,因此您可以移出第一个值来获得匹配值。
function urlify(text) {
return text
.match(/(https?:\/\/[^\s]+)/m)
.shift()
}
var text = 'some text https://stackoverflow.com some more text'
console.log(
urlify(text)
)