阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

JavaScript字符串中URL的检测并转换为链接

55次阅读
没有评论

共计 1212 个字符,预计需要花费 4 分钟才能阅读完成。

导读 有时,我们必须在 JavaScript 字符串中查找 URL。

在本文中,我们将了解如何在 JavaScript 字符串中查找 URL 并将它们转换为链接。

我们可以创建自己的函数,使用正则表达式来查找 URL。

JavaScript 字符串中 URL 的检测并转换为链接

例如,我们可以这样写:

const urlify = (text) => {const urlRegex = /(https?:\/\/[^\s]+)/g; 
  return text.replace(urlRegex, (url) => {return `&lta href="https://www.linuxprobe.com/${url}&gt${url}&lt/a&gt`; 
  }) 
} 
const text = 'Find me at http://www.example.com and also at http://stackoverflow.com'; 
const html = urlify(text); 
console.log(html)

我们创建了接受 text 字符串的 urlify 函数。

在函数中,我们优化了 urlRegex 变量,该变量具有用于匹配 url 的 regex。

我们检查 http 或 https。

然后我们查找斜杠和文本。

正则表达式末尾的 g 标志让我们可以搜索字符串中的所有 URL。

然后我们用 urlRegex 调用 text.replace 并在回调中返回一个带有匹配 url 的字符串。

因此,当我们用 text 调用 urlify 时,我们得到:

'Find me at &lta href="http://www.example.com>http://www.example.com&lt/a&gt and also at &lta href="http://stackoverflow.com>http://stackoverflow.com&lt/a&gt'

我们可以使用更复杂的正则表达式使 URL 搜索更精确。

例如,我们可以这样写:

const urlify = (text) => {const urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
  return text.replace(urlRegex, (url) => {return `&lta href="https://www.linuxprobe.com/${url}&gt${url}&lt/a&gt`; 
  }) 
} 
const text = 'Find me at http://www.example.com and also at http://stackoverflow.com'; 
const html = urlify(text); 
console.log(html)

我们搜索 http、https、ftp 和文件 url。

我们还在模式中包含 :、字母、与号和下划线。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1212字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中