Url参数提取

时间:2011-05-11 05:55:34

标签: javascript regex

var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);

请你解释一下上面的代码行中究竟发生了什么。

提前致谢。

1 个答案:

答案 0 :(得分:5)

  • 您创建一个名称为results的变量,其范围将限定为其执行上下文。
  • 您调用RegExp构造函数,从而实例化对象并传递一个字符串以用作正则表达式。你必须这样做,因为你不能将正则表达式文字与外部数据连接起来。
  • 正则表达式表示匹配\?&后跟name变量,然后是文字=,然后创建一个捕获组除&#以外的每个字符,0次或更多次。
  • 您在新exec()对象上调用RegExp方法,并以window.location.href(当前网址)作为参数。
  • 此回复已分配给您的results变量。
  • 捕获组的内容(如果成功)将在results[1]

你的名字得到了一个GET参数:)