美文网首页
【getQuery】获取url参数

【getQuery】获取url参数

作者: Bestime | 来源:发表于2020-04-11 14:17 被阅读0次
// 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
}

相关文章

网友评论

      本文标题:【getQuery】获取url参数

      本文链接:https://www.haomeiwen.com/subject/ddpymhtx.html