迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 从 URL 中删除 http 或 https

作者:迹忆客 最近更新:2022/11/28 浏览次数:

要从 url 中删除 http://https://,请使用以下正则表达式调用 replace() 方法 - /^https?:\/\// 和一个空字符串作为参数。 replace 方法将返回一个新字符串,其中 http:// 部分已被删除。

function removeHttp(url) {
  return url.replace(/^https?:\/\//, '');
}

// 👇️ "example.com"
console.log(removeHttp('https://example.com'));

// 👇️ "example.com"
console.log(removeHttp('http://example.com'));

如果我们希望避免使用正则表达式,请向下滚动到下一个副标题。

我们创建了一个可重用的函数,用于删除 url 的 http://https:// 部分。

我们将以下 2 个参数传递给 String.replace 方法:

  1. 我们要在字符串中匹配的正则表达式
  2. 每场比赛的替换

正斜杠 // 标记正则表达式的开始和结束。

插入符号 ^ 匹配输入的开头,换句话说,字符串必须以 http(s) 开头。

问号 ? 与前面的项目匹配 0 次或 1 次。在示例中,问号使 s 字符可选。

最后,我们必须使用反斜杠转义正斜杠。

如果您在阅读正则表达式时需要帮助,请查看来自 MDN 的正则表达式速查表。

我们传递给 replace() 方法的第二个参数是正则表达式匹配的替换。出于我们的目的 - 一个空字符串,因为我们想删除 http:// 部分。

如果想避免使用正则表达式,请改用 String.startsWith方法。


使用 startsWith 从 URL 中删除 'http://' 或 'https://'

要从 url 中删除 http://https://,请检查 url 是否以 https://http:// 开头,如果是,请使用 slice() 方法获取 url 之后的部分http协议。 slice() 方法返回一个代表原始字符串一部分的新字符串。

function removeHttp(url) {
  if (url.startsWith('https://')) {
    const https = 'https://';
    return url.slice(https.length);
  }

  if (url.startsWith('http://')) {
    const http = 'http://';
    return url.slice(http.length);
  }

  return url;
}

// 👇️ "example.com/books"
console.log(removeHttp('https://example.com/books'));

// 👇️ "example.com"
console.log(removeHttp('http://example.com'));

我们首先检查 url 是否以 https:// 开头,如果是我们使用 String.slice() 方法获取协议之后的 url 片段。

我们传递给 slice() 方法的唯一参数是起始索引——要包含在字符串中的第一个字符的索引。

// 👇️ "example.com"
console.log('http://example.com'.slice(7));

我们使用 http://https:// 字符串的长度来确定起始索引,这样我们就可以避免对幻数进行硬编码。

如果 url 不是以 http://https:// 开头,我们将按原样返回字符串。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便