js获取url参数值(锚点、文件名等)

今天给文章加了导航目录,但是点击锚点发现是ajax加载出来的,查了下代码,发现之前的ajax初始化中的正则匹配没有写对,于是就修改了一下。另外添加了平滑移动效果,详情见下文。

参数获取介绍

1、设置或获取对象指定的文件名或路径。
alert(window.location.pathname);
2、设置或获取整个 URL 为字符串。
alert(window.location.href);
3、设置或获取与 URL 关联的端口号码。
alert(window.location.port);
4、设置或获取 URL 的协议部分。
alert(window.location.protocol);
5、设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash);
6、设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host);
7、设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search);

锚点匹配

关键是location.href.match(/#(.+)$/)里面的正则。

其他demo

获取URL带questring参数的javascript客户端解决方案,相当于asp的request.querystring,PHP的$_GET

<Script language="javascript">  
function GetRequest() {  
  var url = location.search; //获取url中"?"符后的字串  
   var theRequest = new Object();  
   if (url.indexOf("?") != -1) {  
      var str = url.substr(1);  
      strs = str.split("&");  
      for(var i = 0; i < strs.length; i ++) {  
         theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);  
      }  
   }  
   return theRequest;  
}  
</Script>  

然后我们通过调用此函数获取对应参数值:

<Script language="javascript">  
var Request = new Object();  
Request = GetRequest();  
var 参数1,参数2,参数3,参数N;  
参数1 = Request[''参数1''];  
参数2 = Request[''参数2''];  
参数3 = Request[''参数3''];  
参数N = Request[''参数N''];  
</Script>  

正则分析法:

<Script language="javascript">  
function GetQueryString(name) {  
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");  
   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"));  
</Script>  
时间: 2016年06月30日下午16:36  |  
作者:
1 COMMENTS
  1. 2017/06/06
    澳洲assignment代写

    感谢楼主的分享

LEAVE A REPLY
loading
正在赶回来……