2014-02-12 144 views
1

我在一些javascript代碼中發現了這個正則表達式,並且不確定到底是什麼對字符串做了什麼。這是什麼javascript正則表達式

name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
var regexS = "[\\?&]"+name+"=([^&#]*)"; 
var regex = new RegExp(regexS); 
var state = History.getState(); 
var current_url = state.cleanUrl; 
var results = regex.exec(current_url); 

回答

0

首先,它取代[\[]在名稱\]。然後它將名稱放入一個新的正則表達式中,該正則表達式首先搜索\,?&後接名稱變量,接着搜索=,然後搜索任意數量的^,&#字符。

在url的上下文中,它似乎意味着找到一個特定的$_GET變量。

+0

謝謝康納這是有幫助 – George

1

該正則表達式用於查看name(即。paramparam[])中是否存在的URL。

實例爲名稱的正則表達式是:

name  regex 
----  ----- 
param [?&]param=[^&#]* 
param[] [?&]param\[\]=[^&#]* 

如果有一個?#隨後param=後跟任意數量的字符的不是&#(正則表達式將搜索即。參數的值)。

+0

謝謝M42這也是有幫助的 – George

相關問題