解析指定 url 地址,返回其中的 query 参数对象,可以不考虑执行环境的兼容性。 如: http://www.wacai.com/login?a=1&b=2&a=3&c
返回:
//如果只有一个对应值,显示为字符串,一个以上为数组形式,完全和要求符合
function getQuery(urlStr){
var arr = urlStr.split("?")[1].split("&");
let obj = {};
for(let i = 0;i<arr.length;i++){
let arrQ = arr[i].split("=");
if(arrQ[1]==undefined){
obj[arrQ[0]] = ""
}else if(!obj.hasOwnProperty(arrQ[0])){
obj[arrQ[0]]=arrQ[1];
}else{
if(typeof obj[arrQ[0]] =="string"){
obj[arrQ[0]] = obj[arrQ[0]].split("");
obj[arrQ[0]].push(arrQ[1]);
}else{
obj[arrQ[0]].push(arrQ[1]);
}
}
}
return obj;
};
function urlParse(url) { var result = {} var elems = url.split('?')[1].split('&') elems.forEach(function(e){ var keyVal = e.split('='), key = keyVal[0] val = keyVal[1] || '' //没有value的情况下表示为‘’而非undefined if(result[key] !== void 0){ //属性有两个以上的值,存储为字符串数组 result[key] = [].concat(result[key]).concat(val) }else{ //只有一个属性值,以字符串形式存储 result[key] = val } }) return result }
function getQuery(url){ var queryArr=url.split('?')[1].split('&'); var obj={}; for(var i=0;i<queryArr.length;i++){ var temp=queryArr[i].split('='); if (temp.length===1) { obj[temp[0]]=''; }else{ if (!obj[temp[0]]) { obj[temp[0]]=temp[1]; }else{ obj[temp[0]]=[obj[temp[0]]]; obj[temp[0]].push(temp[1]); } } } return obj; }
function findQuery(url){ var index = url.indexOf('?'); var search = url.substring(index+1); var searchArr = search.split('&'); var query = {} searchArr.forEach(function(ele){ var arr = ele.split("="); if(!arr[1]){ arr[1]=''; } console.log(query[arr[0]]); if(query[arr[0]]){ var b = [].concat(query[arr[0]]); b.push(arr[1]); query[arr[0]]=b; } else{ query[arr[0]]=arr[1] } }); return query; }
function getUrl(str){ var sub=str.substring(str.indexOf("?")+1); var obj={}; var arr=sub.split("&"); for(var i=0;i<arr.length;i++){ arr[i]=arr[i].split("="); } for(var j=0;j<arr.length;j++){ if(obj.hasOwnProperty(arr[j][0])){ obj[arr[j][0]]=[].concat(obj[arr[j][0]]).concat(arr[j][1]); }else{ obj[arr[j][0]]=(arr[j][1])?[arr[j][1]]:""; } } return obj; }
function getQuery(url){ var str = url.split('?')[1]; var arr = str.split('&'); var obj = {}; arr.forEach(function(item){ var key = item.split('=')[0]; var val = item.split('=')[1] || ''; if(obj[key]){ obj[key] = [].concat(obj[key]).concat(val); }else{ obj[key] = val; } }) return obj; }
function getURLData(url){ var arr=url.split("?")[1].split("&"); var obj={}; arr.forEach(function(element,index) { var arrTemp=element.split("="); var key=arrTemp[0]; var value=arrTemp[1]||''; //键值不存在时用'' if(obj[key]){ //属性有两个及两个以上的值 obj[key]=[].concat(obj[key],value); }else{ //属性只有一个值时 obj[key]=value; } }, this); return obj; }
function getQuery(url) { let query = url.split("?")[1].split("&"); let obj = {}; for (let i = 0; i < query.length; i++) { let t = query[i].split("="); if(!Reflect.has(obj,t[0])){ obj[t[0]]=[] } if(t[1]===undefined){ t[1]=""; } obj[t[0]].push(t[1]) } return obj; }
function query(url) { var temp = {}; for (var item of url.split('?')[1].split('&')){ item = item.split('='); if(!temp[item[0]]){ temp[item[0]] = item[1]; } else { //不知道题目是undefined还是' '? item[1] ? temp[item[0]] = Array.prototype.concat(temp[item[0]], item[1]) : temp[item[0]] = ' '; } } return temp }