我需要一个函数来获取空href查询参数名称,以便以后可以用另一个数组中的值替换它们。之后,在正则表达式失败,这里的时间是我使出:如何获得空href查询参数?
/**
* getEmptyQueryParams(URL)
* Input: URL with href params
* Returns an array containing all empty href query parameters.
*/
function getEmptyQueryParams(URL)
{
var params = new Array();
var non_empty_params = new Array();
var regex = /[\?&]([^=]+)=/g; // gets all query params
var regex2 = /[\?&]([a-zA-Z_]+)=[\w]/g; // gets non empty query params
while((results = regex.exec(URL)) != null)
{
params.push(results[1]);
}
while((results = regex2.exec(URL)) != null)
{
non_empty_params.push(results[1]);
}
while(non_empty_params.length > 0)
{
for(y=0;y < params.length;y++)
{
if(params[y] == non_empty_params[0])
{
params.splice(y,1);
}
}
non_empty_params.shift();
}
return params;
}
它的工作原理,但看起来丑陋的地狱......有没有更好的办法做到这一点?任何帮助表示赞赏。
这其实是一个Javascript的问题。但别担心,你不是唯一犯这个错误的人:D – 2009-04-07 21:05:21