復(fù)制代碼代碼如下:
var url = "http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";//定義變量
function parse_url(_url){ //定義函數(shù)
var pattern = /(/w+)=(/w+)/ig;//定義正則表達(dá)式
var parames = {};//定義數(shù)組
url.replace(pattern, function(a, b, c){parames[b] = c;});
/*這是最關(guān)鍵的.當(dāng)replace匹配到classid=9時(shí).那么就用執(zhí)行function(a,b,c);其中a的值為:classid=9,b的值為classid,c的值為9;(這是反向引用.因?yàn)樵诙x 正則表達(dá)式的時(shí)候有兩個(gè)子匹配.)然后將數(shù)組的key為classid的值賦為9;然后完成.再繼續(xù)匹配到id=2;此時(shí)執(zhí)行function(a,b,c);其中a的值為:id=2,b的值為id,c的值為2;然后將數(shù)組的key為id的值賦為2.*/
return parames;//返回這個(gè)數(shù)組.
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);//最后打印.根據(jù)key值來打印數(shù)組對(duì)應(yīng)的值