用户输入一个我只想从中获取尾部的网址,因为我知道他输入的站点。
所以首先我想去掉“主”URL,得到最后的东西,所以我的动作是:
原文链接:http://example.com/something
var n=e.split("http://example.com/");e=n[1];
我会得到"一些东西"
问题是站点也可以被保护,因此https不是超文本传输协议。因此拆分不起作用。
如何定义一个拆分函数,它的工作方式如下:
split("http://example.com/ || https://example.com/")
我不想通过查看“//”或类似的东西来分裂,我想要一个确切的地址。
如果您喜欢清晰并想避免正则表达式,请尝试以下操作:
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]];
}