// getQuery('name=张三'); // => { name: "张三" }
// getQuery('???name=张三?&?age=26'); // => { name: "张三", age: 26 }
// getQuery(null); // => {}
// getQuery(undefined); // => {}
// getQuery(''); // => {}
// getQuery('abc'); // => {}
/**
* @method getQuery
* @author Bestime
* @describe 获取url查询参数
* @param {String} [str] 被查询的字符串,默认为当前url
* @return {Object} json对象
*/
function getQuery (str) {
var res = {}, href = '';
try { href = window.location.href } catch (e) {};
(typeof str === 'string' ? str : href).replace(/([^=?&]*)=([^=&?/#]*)/g, function (item, key, val) {
res[decodeURIComponent(key)] = FN_FORMAT_STRING_VALUE(val)
});
return res
}
function FN_FORMAT_STRING_VALUE (data) {
switch (typeof data) {
case 'undefined':
case 'null': break;
default:
if(data == 'false') {
data = false
}else if(data == 'true') {
data = true
} else {
try { data = JSON.parse(data) } catch (e) {}
}
}
return data
}
网友评论