JavaScript字串中URL的檢測並轉換為連結

大雄45發表於2021-11-02
導讀 有時,我們必須在 JavaScript 字串中查詢 URL。

在本文中,我們將瞭解如何在 JavaScript 字串中查詢 URL 並將它們轉換為連結。

我們可以建立自己的函式,使用正規表示式來查詢 URL。

JavaScript字串中URL的檢測並轉換為連結JavaScript字串中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 
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="

我們可以使用更復雜的正規表示式使 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 
const html = urlify(text); 
console.log(html)

我們搜尋 http、https、ftp 和檔案url。

我們還在模式中包含 : 、字母、與號和下劃線。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2790182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章