【问题标题】:Repair URL in JavaScript修复 JavaScript 中的 URL
【发布时间】:2018-06-06 01:52:43
【问题描述】:

我的网络应用程序有一个输入字段,用户可以在其中输入指向其网站的链接。他们经常输入类似Twitter.com/mhluska 的东西,这不是一个有效的URL。我想自动修复到https://twitter.com/mhluska

但是 URL 可以指向任何域名。

我尝试使用a 标记来解析 URL,但它只是将其作为本地路径附加到当前来源:

const elem = document.createElement('a');
a.href = 'Twitter.com/mhluska';
console.log(a.href); // "http://localhost:3000/some/path/Twitter.com/mhluska"

我研究了一些 URL 解析库,但它们通常只是针对无效 URL 抛出错误。包括原生的URL API

有没有一种简单的方法可以尝试从用户可能输入的任何垃圾中创建有效链接?

【问题讨论】:

    标签: javascript url uri


    【解决方案1】:

    您可以使用 URL 相对表示法。 URL 中的主机名不区分大小写,现代浏览器会在 href 字符串中更改大小写。

    const elem = document.createElement('a');
    elem.href = '//Twitter.com/mhluska';
    console.log(elem.href);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2021-10-21
      • 1970-01-01
      相关资源
      最近更新 更多