JavaScript获取URL中参数querystring的方法详解
一. 获取url的querystring参数
获取url的querystring参数的两种方法如下
1.1 方法一正则匹配
//获取url中的参数 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)", i); // 匹配目标参数 var result = window.location.search.substr(1).match(reg); // 对querystring匹配目标参数 if (result != null) { return decodeURIComponent(result[2]); } else { return null; } }
对于 http://localhost/index.html?q1=abc&q2=efg&q3=h 的url,获取 q1 参数值的方法如下
var q1 = getQueryString('q1'); // abc
1.2 方法二split
function getQueryString() { var qs = location.search.substr(1), // 获取url中"?"符后的字串 args = {}, // 保存参数数据的对象 items = qs.length ? qs.split("&") : [], // 取得每一个参数项, item = null, len = items.length; for(var i = 0; i < len; i++) { item = items[i].split("="); var name = decodeURIComponent(item[0]), value = decodeURIComponent(item[1]); if(name) { args[name] = value; } } return args; }
对于 http://localhost/index.html?q1=abc&q2=efg&q3=h 的url,获取 q1 参数值的方法如下
var qs = getQueryString(); var q1 = qs["q1"]; // abc
用上面两种getQueryString()
方法都能很好地解决获取url的querystring参数问题。就此顺便整理一下Location对象,方便日后学习参考。
二. Location对象的属性
备注以 http://localhost:80/dir/index.html?q1=abc&q2=efg&q3=h#anchor 为例
location的这8个属性都是可读写的。
其中,改变location.href
会跳转到新的URL页面,而修改location.hash
会跳到当前页面中锚点位置。
每次修改window.location
的属性(hash除外),页面都会以新的URL重新加载,并在浏览器的历史纪录中生成一条新纪录。
三. Location对象的方法
其中,location.assign(url)
的效果跟下列两行代码的效果完全一样
window.location = url; location.href = url;
位于 location.reload()
调用之后的代码可能会也可能不会执行,这取决于网络延迟或系统资源等因素。,最好将 location.reload()
放在代码的一行。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程