解析指定 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
}