我需要从给定的URL中提取完整的协议、域和端口。例如:
https://localhost:8181/ContactUs-1.0/contact?lang=it&report_type=consumer
>>>
https://localhost:8181
我需要从给定的URL中提取完整的协议、域和端口。例如:
https://localhost:8181/ContactUs-1.0/contact?lang=it&report_type=consumer
>>>
https://localhost:8181
当前回答
var getBasePath = function(url) {
var r = ('' + url).match(/^(https?:)?\/\/[^/]+/i);
return r ? r[0] : '';
};
其他回答
使用ES6模板文字:
Const url = ' ${location.protocol}//${location.hostname}${location.port?':'+location.port: "} '; . getelementbyid(“结果”)。innerText = url; < div id = "结果" > < / div >
你可以简化为:
Const url = ' ${location.protocol}//${location.host} '; . getelementbyid(“结果”)。innerText = url; < div id = "结果" > < / div >
var http = location.protocol;
var slashes = http.concat("//");
var host = slashes.concat(window.location.hostname);
首先获取当前地址
var url = window.location.href
然后解析这个字符串
var arr = url.split("/");
你的网址是:
var result = arr[0] + "//" + arr[2]
以下是我使用的解决方案:
const result = `${ window.location.protocol }//${ window.location.host }`;
编辑:
要增加跨浏览器兼容性,请使用以下方法:
const result = `${ window.location.protocol }//${ window.location.hostname + (window.location.port ? ':' + window.location.port: '') }`;
Window.location.protocol + '//' + window.location.host