正则匹配字符串URL

需求:1:后端传过来的内容,没有带标签的URL,可点击

let aLink = ''

      let checkfiles = new RegExp(/<("[^"]*"|'[^']*'|[^'">])*>/)

      let httpReg = /(https?|ftps?):\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),#]|(?:%[0-9a-fA-F][0-9a-fA-F]))+/gim // 验证http或者https

      con.filter(i => {

        if (!checkfiles.test(i.content)) { // 不包含标签元素

          if (httpReg.test(i.content)) { // 是否包含http

            for (let h of i.content.match(httpReg)) { // match 字符串检索指定的值,返回一个或者多个正则表达式的匹配

              aLink = h

            }

            i.content = i.content.replace(aLink, function() {

              return (`<a href="${aLink}" target="_blank">${aLink}</a>`)

            })

          }

        }

      })

      this.dataList = con

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容