如何检测 JavaScript 字符串中的 URL 并将其转换为链接?
有时,我们必须在 JavaScript 字符串中查找 URL。
在本文中,我们将了解如何在 JavaScript 字符串中查找 URL 并将它们转换为链接。
我们可以创建自己的函数,使用正则表达式来查找 URL。
例如,我们可以这样写:
const urlify = (text) => { const urlRegex = /(https?:\/\/[^\s]+)/g; return text.replace(urlRegex, (url) => { return `<a href="${url}>${url}</a>`; }) } const text = 'Find me at https://mybj123.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 <a href="https://mybj123.com>https://mybj123.com</a>'
我们可以使用更复杂的正则表达式使 URL 搜索更精确。
例如,我们可以这样写:
const urlify = (text) => { const urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; return text.replace(urlRegex, (url) => { return `<a href="${url}>${url}</a>`; }) } const text = 'Find me at https://mybj123.com'; const html = urlify(text); console.log(html)
我们搜索 http
、https
、ftp
和文件 url。
我们还在模式中包含 :
、字母、与号和下划线。
本文系翻译,阅读原文
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 如何检测 JavaScript 字符串中的 URL 并将其转换为链接?
码云笔记 » 如何检测 JavaScript 字符串中的 URL 并将其转换为链接?