如何使用JavaScript获取URL参数?

125

2
使用 URL.js 库。 - Anirudh Ramanathan
1个回答

455
function getURLParameter(name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null;
}

所以你可以使用:

myvar = getURLParameter('myvar');

3
@DeanMeehan 如果“只要能用”那真不错,但考虑到正则表达式的可读性,我不认为它是一个简单的解决方案。 - Adriano
3
如果URI中有一个哈希标签,这个方法还有效吗?如果在Chrome中有一个#something,那么你需要使用window.location.hash而不是window.location.search... - Jake Wilson
14
如果提供了a)现象解释和b)通过JSHint验证,我会点赞的:目前, [, ""] 构造是无效的。 - Phortuin
1
如何获取数组参数(例如http://test.com?arr[]=vxcbcvb%20cvbvbcvb)的值? - mpora
1
我更新了这个正则表达式以通过jshint和jscs的检查。请享用。 - Jordan
显示剩余13条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接