上午在做一个小项目时,需要从后台取到网页的路径并在前台用JS代码组合成网址再跳转。难度不是很大,主要是需要用到 js 代码获取当前网址的主域名,那么这篇博文,飞鸟慕鱼博客就来和大家说一说,js获取当前网站域名的方法。

js 匹配网址中主域名的方法

在 js 中,可以使用 split() 方法利用字符 '/',来分割一个网址,并取出它主域名的部分

js代码:

<script>
    var url = "https://www.feiniaomy.com/post/522.html";
    //以“/”进行分割,urlstr 会是一个数组
    var urlstr = url.split("/"); 
    var urls = '';
    if (urlstr[2]) {
          // urlstr[0] 为 http 协议部份
            // urlstr[2] 为 网址域名部份
        urls = urlstr[0]+'//'+urlstr[2];
    }
    alert(urls);
</script>

弹出结果:https://www.feiniaomy.com

js 获取当前网站域名的方法

PS:此方法,只适合处理带有 http 或 https 协议的完整网址,如果输入的是一个项级域名,没有 http 协议的网址,就需要变换一下它的取值方法。

js 获取当前网站域名的方法

上面的代码中,js可以通过一个完整的网址来提取出主域名。如果想提取当前网页地址的主域名,可以使用 window.location.href 来获取当前网页的完整URL地址。

js代码:

<script>
    //获取当前网页的完整地址
    var url = window.location.href;
    var urlstr = url.split("/"); //以“/”进行分割
    var urls = '';
    if (urlstr[2]) {
        urls = urlstr[0]+'//'+urlstr[2];
    }
    alert(urls);
</script>

为了使用方法,可以将此代码自定义成一个函数

函数代码:

<script>
    function hosturl(url){
        var urlstr = url.split("/"); //以“/”进行分割
        var urls = '';
        if (urlstr[2]) {
            
            urls = urlstr[0] + '//' + urlstr[2];
        }
        return urls;
    }
</script>

调用方式:

<script>
url = hosturl('要提取域名的网址");
</script>