一、js获取当前域名有2种方法

1、方法一

var domain = document.domain;

2、方法二

var domain = window.location.host;

3、注意问题

由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错。

二、获取当前Url的4种方法

var url = window.location.href;

  var url = self.location.href;

  var url = document.URL;

  var url = document.location;

ie 地址栏显示的是什么,获取到的 url 就是什么。

三、获取当前相对路径的方法

首先获取 Url,然后把 Url 通过 // 截成两部分,再从后一部分中截取相对路径。如果截取到的相对路径中有参数,则把参数去掉。

function GetUrlRelativePath()
  {

    var url = document.location.toString();

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

    var start = arrUrl[1].indexOf("/");

    var relUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符

    if(relUrl.indexOf("?") != -1){

      relUrl = relUrl.split("?")[0];

    }

    return relUrl;

  }

调用方法:GetUrlRelativePath();

举例:假如当前 Urlhttp// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的相对路径为:/pub/item.aspx

四、获取当前Url参数的方法

1、获取Url参数部分

function GetUrlPara()

  {

    var url = document.location.toString();

    var arrUrl = url.split("?");

    var para = arrUrl[1];

    return para;

  }

调用方法:GetUrlPara()

举例:假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的参数部分为:t=osw7

五、获取指定Url参数的方法

JavaScript 获取域名和协议 js获取网址域名_后缀名

function GetQueryString(name)
{

    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //这个正则是寻找&+url参数名字=值+&

&可以不存在。

    var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则

    if(r!=null)return  unescape(r[2]); return null;

}

// 调用方法
alert(GetQueryString("参数名1"));

alert(GetQueryString("参数名2"));

调用方法:GetQueryString("id");

举例说明:

假如当网页的网址有这样的参数 test.htm?id=896&s=q&p=5,则调用 GetUrlParam("p"),返回 5


通过正则表达式获取标准url地址的域名和文件后缀名

形如“http://www.abcdef.com/index.php”或“http://www.abcdef.com/index.php?g=Index&m=Index&a=index”的地址即为标准的url地址,现在我们要通过正则式来获取它的域名“abcdef.com”和地址中的文件后缀名“.php”。

1、获取url地址域名:

<?php
     
        $url = "http://www.abcdef.com/index.php";
        // $url = "http://www.abcdef.com/index.php?g=Index&m=Index&a=index";
        preg_match("/^(\w+:\/\/)?([^\/]+)/i", $url , $matches);
        // 获得主机名
        $host = $matches[2];
        // 从主机名中取得后面两段(.符号将主机名划分为三段,后两段即为域名)
        preg_match("/[^.\/]+\.[^.\/]+$/", $host, $matches);
        echo "$matches[0]";
     
    ?>

结果为:abcdef.com

2、获取url中的文件后缀名:

url不带参数时,此时匹配的正则式为:"/\.(\w+)$/";当url带参数时,此时匹配的正则式为:"/\.(\w+)\?/"(注意此时文件后缀名后还带着个问号)。

将这两种情况合并,可编写出获得文件后缀名的php代码:

<?php
     
        // $url = "http://www.abcdef.com/index.php";
        $url = "http://www.abcdef.com/index.php?g=Index&m=Index&a=index";
        //获得url地址文件后缀名(可能包含问号?)
        preg_match("/(\.(\w+)\?)|(\.(\w+)$)/",$url,$str);
        //去除问号
        $suffix = preg_split("/\?/",$str[0]);
        echo $suffix[0];
    ?>

结果为:.php


正则表达式从URL获取文件名