我需要从给定的URL中提取完整的协议、域和端口。例如:

https://localhost:8181/ContactUs-1.0/contact?lang=it&report_type=consumer
>>>
https://localhost:8181

当前回答

为什么不使用:

let full = window.location.origin

其他回答

为什么不使用:

let full = window.location.origin

适用于所有浏览器的简单答案:

let origin;

if (!window.location.origin) {
  origin = window.location.protocol + "//" + window.location.hostname + 
     (window.location.port ? ':' + window.location.port: '');
}

origin = window.location.origin;

首先获取当前地址

var url = window.location.href

然后解析这个字符串

var arr = url.split("/");

你的网址是:

var result = arr[0] + "//" + arr[2]

Window.location.protocol + '//' + window.location.host

var getBasePath = function(url) {
    var r = ('' + url).match(/^(https?:)?\/\/[^/]+/i);
    return r ? r[0] : '';
};