/*
获取参数字符串
if(指定参数名称){
分割参数,并存入数组
if(只有一个指定的参数){找到并输出参数值}
else if(没有){输出空}
else{输出"数组"值}
}else{
if(没有参数){返回{}}
else{返回参数"对象"}
}
*/
function getUrlParam(sUrl, sKey) {
var param=sUrl.split('#')[0].split('?')[1];//去掉#后面的和网址部分,剩余参数部分
var paramSplit=param.split('&');//把参数分割放进数组 {key1=1,key2=2...}
if(sKey){//指定参数
var paramArr=new Array();
for(var i=0;i<paramSplit.length;i++){
var tmp=paramSplit[i].split('=');//键值分离
if(tmp[0]==sKey){
paramArr.push(tmp[1]); //要求的是返回数组
}
}
if(paramArr.length==1){
return paramArr[0];
}else if(paramArr.length==0){
return "";
}else{
return paramArr;
}
}else{ //不指定参数
if(sUrl=="" || sUrl==undefined){
return {};
}else{//注意这里要求返回对象
var paramObj=new Object();
for(var i=0;i<paramSplit.length;i++){
var tmp=paramSplit[i].split('=');
if(!(tmp[0] in paramObj)){ //如果参数的键名不在对象的属性中就先添加
paramObj[tmp[0]]=[];
}
paramObj[tmp[0]].push(tmp[1]);
}
}
return paramObj;
}
}
getUrlParam("http://www.baidu.com?key1=w&key2=han&key2=so&key3=ng","key1");
console