我需要一個函數來獲取空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