js获取页面url的方法

我们可以用javascript获得其中的各个部分

1, window.location.href

整个URl字符串(在浏览器中就是完整的地址栏)

本例返回值: http://ifisker.com/blog/post/0703/window.location.html#

2,window.location.protocol

URL 的协议部分

本例返回值:http:

3,window.location.host

URL 的主机部分

本例返回值:www.x2y2.com

4,window.location.port

URL 的端口部分

如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符

本例返回值:""

5,window.location.pathname

URL 的路径部分(就是文件地址)

本例返回值:/fisker/post/0703/window.location.html

6,window.location.search

查询(参数)部分

除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相应的参数值

本例返回值:?ver=1.0&id=6

7,window.location.hash

锚点

本例返回值:#imhere

 

URL的参数&参数名1=XXXX&参数名2=XXXX&参数名3=XXXX 

 

function    GetQueryString(name)   
   {   
       var    reg   =   new    RegExp("(^|&)"+    name   +"=([^&]*)(&|$)");   
       var    r   =    window.location.search.substr(1).match(reg);   
      if    (r!=null)   return    (r[2]);   return   null;   
   }   
   alert(GetQueryString("参数名1"));   
   alert(GetQueryString("参数名2"));   
   alert(GetQueryString("参数名3"));

 

如:http://www.cnblogs.com/EditPosts.aspx?a=1&b=2&c=3

b = GetQueryString("b"); [b=2]

转换成数字parseInt(num)

 

function   getUrlParam(name){  
          var   reg   =   new   RegExp("(^|&)"+   name   +"=([^&]*)(&|$)");  
          var   r   =   window.location.search.substr(1).match(reg);  
          if   (r!=null)   return   (r[2]);   return   null;
      }

 

如果aa.aspx?id=3

调用时只需getUrlParam("id")即可以得到3

 

比如我想要用js截取这个链接http://www.abc.com/?id=9&keywords=milk&sid=1
里面的这个段 keywords=milk ,而且每次这个段都要随着连接而变化,比如keywords=orange 截取后,需要把它付值给一个变量
var = “keywords=orange”;

 

var url="http://www.abc.com/?id=9&keywords=apple&sid=1";
p=getUrlParams(url);
var v="keywords="+p["keywords"]
alert(v);

function
getUrlParams(url)//获取页面URL参数 { var URLParams = new Object(); var aParams = url.split('&'); for (i=0 ; i < aParams.length ; i++) { var aParam = aParams[i].split('=') ; URLParams[aParam[0]] = aParam[1] ; } return URLParams; } </script>

 

posted @ 2014-12-30 11:17  lanyan  阅读(364)  评论(0编辑  收藏  举报