提问者:小点点

JS分割或逻辑运算符


用户输入一个我只想从中获取尾部的网址,因为我知道他输入的站点。

所以首先我想去掉“主”URL,得到最后的东西,所以我的动作是:

原文链接:http://example.com/something

var n=e.split("http://example.com/");e=n[1];

我会得到"一些东西"

问题是站点也可以被保护,因此https不是超文本传输协议。因此拆分不起作用。

如何定义一个拆分函数,它的工作方式如下:

split("http://example.com/ || https://example.com/")

我不想通过查看“//”或类似的东西来分裂,我想要一个确切的地址。


共3个答案

匿名用户

如果您喜欢清晰并想避免正则表达式,请尝试以下操作:

var n=e.split("http://example.com/",2).pop().split("https://example.com/",2).pop();

匿名用户

如果您想知道主机,您可以通过在JavaScript中使用此代码来做到这一点:

window.location.host

Source使用Javascript获取当前域名(不是路径等)

您还可以使用window. location.path来获取请求的URL,结合您获得的:

window.location.host + window.location.pathname

对我来说,这在写这个回复时输出stackoverflow.com/posts/25203020/edit。

匿名用户

var s = "http://example.com/something";
function split (url) {
  var r = /([^:]+):\/\/([^\/]+)\/(.*)/gi;
  var a = r.exec(url)
  return [a[1], a[2], a[3]];
}