Dav*_*les 448

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

所以你可以使用:

myvar = getURLParameter('myvar');
Run Code Online (Sandbox Code Playgroud)

  • 如果a)解释正在发生的事情并且b)通过JSHint验证,那么会有所好转:目前,[,""]构造无效 (12认同)
  • @DeanMeehan真棒,如果它"正常"但我不会说这是一个简单的解决方案考虑到正则表达式的可读性 (3认同)
  • 如果URI中有哈希标记,这是否有效?如果Chrome中有一个`#thing`,那么你必须使用`window.location.hash`而不是`window.location.search` ... (3认同)