我已经搜索了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字符串,所以你需要转义的'\'是用于逃避'?' –