当前页面对应的URL的一些属性:

( http://bbs.xxx.net/forum.php?mod=viewthread&tid=2709692&page=1&extra=#pid23817304)

1)当前页面的完整的URL: window.location.href

2)当前页面的URL的pathname: window.location.pathname (http://bbs.xxx.net/forum.php)

3)当前页面的URL的问号后面的查询部分: window.location.search (?mod=viewthread&tid=2709692&page=1&extra=#pid23817304)

4)当前页面的URL的在井号“#”后面的部分:window.location.hash (pid23817304)

5)协议:window.location.protocol

6)端口:window.location.port

7)获取查询部分某个key对应的值:

var common = {};

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

这里如何理解正则表达式:new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i") 呢?

?mod=viewthread&tid=2709692&page=1

window.location.search.substr(1) 去掉了最初的问号: ? ,得到 mod=viewthread&tid=2709692&page=1

"(^|&)" + name 表示以name开头,比如name="mod" 时,就是以'mod'开头;而当name="tid"时,就是匹配 &tid 了。

"=([^&]*)(&|$)" 中的 ([^&]*) 表示非 $ 字符可以出现任意次,也就是匹配非 & 的字符;然后最后的 (&|$) 表示最后是 & 比如name="tid"时,或者$比如name="page" 时。

8)获取所有的查询部分:

function GetRequest(){
var url = window.location.search; // 获取url中"?"符后的字串
var theRequest = {};  // 定义一个对象
if(url.indexOf("?") != -1){
var str = url.substr(1);
var strs = str.split("&");
for(var i = 0; i < strs.length; i++){
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}

将查询部分的键值对,作为一个对象返回,key为对象的属性,value为对象属性的值(其实也相当于一个map)。

用js获取当前页面的url的相关信息方法的更多相关文章

  1. js获取当前页面的URL并且截取?之后的数据,返回json

    js获取当前页面的URL并且截取'?'之后的数据,返回json格式的数据 最近想要把学到的东西整理一下,以后方便查找,也是一种自我累积,如果有错误或者更好的,欢迎提出! 这篇文档主要是写关于获取页面的 ...

  2. js获取当前页面的url网址信息小汇总

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblog ...

  3. js获取当前页面的url网址信息

    设置或获取整个 URL 为字符串: window.location.href 获取内容:http://10.100.0.8:7000/SVP/ "window.location.href&q ...

  4. JS获取当前页面的URL信息

    设置或获取对象指定的文件名或路径. <script> alert(window.location.pathname) </script> 设置或获取整个 URL 为字符串. & ...

  5. js获取当前页面的url信息方法

    例如网址:http://localhost:12085/My/OrderM.aspx 设置或获取对象指定的文件名或路径. alert(window.location.pathname) 输出结果:/M ...

  6. 使用js获取当前页面的url网址信息。

    1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.port 3.设置或获取 URL 的协议部 ...

  7. JS获取当前页面的URL

    如果获取“当前”域名 host = window.location.host; url=document.domain; url = window.location.href; 取得完整url路径: ...

  8. 用js获取当前页面的url

    1.获取当前或者指定页面的文件名或路径 window.location.pathname 2.设置或获取整个URl字符串 window.location.href 3.设置或获取URL相关的端口号 w ...

  9. js获取当前页面的url中id

    function UrlSearch() { var name, value; var str = location.href; //获取到整个地址 var num = str.indexOf(&qu ...

随机推荐

  1. ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页

    我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了 ...

  2. 使用Architecture Explorer分析应用程序及使用层次图

    使用Architecture Explorer分析应用程序 Architecture Explorer和依赖图可以帮助我们了解所有的项目,包括小项目和大项目.Architecture Explorer ...

  3. Spring重点—— IOC 容器中 Bean 的生命周期

    一.理解 Bean 的生命周期,对学习 Spring 的整个运行流程有极大的帮助. 二.在 IOC 容器中,Bean 的生命周期由 Spring IOC 容器进行管理. 三.在没有添加后置处理器的情况 ...

  4. Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全

    导读 行文本输入框在用于界面的文本输入,在WEB登录表单中应用广泛.一般行文本编辑框可定制性较高,既可以当作密码输入框,又可以作为文本过滤器.QLineEdit本身使用方法也很简单,无需过多的设置就能 ...

  5. 重构第23天 引用参数对象(Introduce Parameter Object)

    理解:有时候我们的一个方法,需要很多个参数,太多参数,不易阅读和理解,我们就可以把多个参数封装成一个对象. 详解: 重构前代码: public class Registration { public ...

  6. appt查看apk信息

    aapt dump badging app-debug.apk

  7. 轻松解决MYSQL数据库连接过多的错误

    1.数据库系统允许的最大可连接数max_connections.这个参数是可以设置的.如果不设置,默认是100.最大是16384. 2.数据库当前的连接线程数threads_connected.这是动 ...

  8. android dp

    http://www.see-say.com/viewnews-47657.html http://cn.club.vmall.com/thread-970026-1-1.html http://ww ...

  9. linux系统如何将系统中的文件名改为英文?

    由于我们经常在命令行模式下进入文件,那么中英文的切换常常会影响我们输入的效率. 那么如何将原来的中文修改成英文的字幕呢? 如下图所示: -------------------------------- ...

  10. [WP8] Binding时,依照DataType选择DataTemplate

    [WP8] Binding时,依照DataType选择DataTemplate 范例下载 范例程序代码:点此下载 问题情景 在开发WPF.WP8...这类应用程序的时候,透过Binding机制搭配Da ...