当前位置: 首页 > 科技观察

如何检测JavaScript字符串中的URL并将它们转换为链接?

时间:2023-03-15 16:04:52 科技观察

有时我们必须在JavaScript字符串中查找URL。在本文中,我们将了解如何在JavaScript字符串中查找URL并将它们转换为链接。我们可以创建自己的函数,使用正则表达式来查找URL。例如,我们可以这样写:consturlify=(text)=>{consturlRegex=/(https?:\/\/[^\s]+)/g;returntext.replace(urlRegex,(url)=>{return`${url}`;})}consttext='Findmeathttp://www.example.comandalsoathttp://stackoverflow.com';consthtml=urlify(text);console.log(html)我们创建接受文本字符串的urlify函数。在函数中我们优化urlRegex变量,该变量具有用于匹配url的正则表达式。我们检查http或https。然后我们寻找斜杠和文本。g标志在末尾正则表达式让我们搜索字符串中的所有URL。然后我们用urlRegex调用text.replace,并在回调中返回一个具有匹配url的字符串。所以当我们用文本调用urlify时,我们得到:'Findmeathttp://www.example.comandalsoathttp://stackoverflow.com'我们可以使用更复杂的正则表达式,使URL搜索更精确。比如我们可以这样写:consturlify=(text)=>{consturlRegex=/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;returntext.replace(urlRegex,(url)=>{return`${url}`;})}consttext='Findmeathttp://www.example.comandalsoathttp://stackoverflow.com';consthtml=urlify(text);console.log(html)我们搜索http、https、ftp和文件url。我们还在模式中包括:、字母、&符号和下划线。