我已經搜索了JavaScript解決方案(在jQuery庫中)獲取URL參數的堆棧溢出。瞭解從jQuery get url參數函數的正則表達式
我有這個功能,是否可以平穩:
// get the firstname value from the myurl - http://mysite.com?firstname=dany&lastname=dughy
var myurl = $("#gup").data("url");
var name = "firstname";
function gup(name, myurl) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(myurl);
if(results == null)
return "";
else
return results[1];
}
我理解它是如何工作的,你設置一個正則表達式,比執行一個正則表達式和檢索一個數組的結果。
有人可以向我解釋正則表達式嗎?我似乎無法理解它。
泰
我真的不知道你必須在JS中再次逃避字符串(這使我感到困惑),我絕對需要在實際的正則表達式上多做一些工作。你爲我開闢了一條偉大的道路。泰! –
雖然不是'[\\?&]'找到\,'?或'&?正則表達式測試儀給我這個:http://i.imgur.com/UM0Pcok.png – eithed
@eithed是的,它會,如果它是普通的正則表達式,但它是在一個JS字符串,所以你需要轉義的'\'是用於逃避'?' –