如何 return location.hostname 没有尾部斜杠?

How do I return location.hostname without the trailing slash?

如果输入是 https://example.com/page.html?query=string,如何使用 JavaScript return 字符串 example.com

现在,如果我使用 window.location.hostname – 或 location.hostname – return 值是
example.com/,但我想要
example.com,没有尾部斜杠。


这个问题类似于@r1853’s “How to remove trailing slash from window.location.pathname”,但是因为JavaScript提供了很多方法来抓取部分URI(location.hostnamelocation.hostlocation.href),并且因为格式良好的 URI 是封闭的 class,我曾假设有一个比使用正则表达式从中删除尾部斜杠更便宜的选择。

只需将您的 window.location.hostname 放入一个变量中:

let hostname = window.location.hostname;

然后使用 substring 删除最后一个字符(即尾部斜杠)

hostname = hostname.substring(0, hostname.length - 1);

如果要确保最后一个字符实际上是 /,则可以使用 if 语句:

if (hostname.charAt(hostname.length - 1) == '/') {
  hostname = hostname.substring(0, hostname.length - 1)
}