2011-05-11 98 views
1
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); 

請解釋一下在上面的代碼行中究竟發生了什麼。Url參數提取

在此先感謝。

+1

得到一個GET PARAM它提取網址 – diEcho 2011-05-11 05:57:06

+0

都得到參數修改自己的代碼,因爲沒有使用jQuery的。 – alex 2011-05-11 06:17:41

回答

5
  • 您創建一個名稱爲results的變量被限定爲其執行上下文。
  • 您調用RegExp構造函數,從而實例化對象並傳遞要用作正則表達式的字符串。你必須這樣做,因爲你不能連接正則表達式和外部數據。
  • 正則表達式表示符合任何\?&隨後name變量,然後字面=然後使每一個字符的捕獲組除了&#,0次或更多次。
  • 您可以在新的RegExp對象上調用exec()方法,其中window.location.href(當前URL)作爲其參數。
  • 將此返回分配給您的results變量。
  • 捕獲組的內容(如果成功)將在results[1]

你被它的名字:)

+0

非常具有描述性! – 2011-05-11 06:20:14