js - ISON 和 查詢字符串互轉

var util = {};

/** 
 * 對象轉爲查詢字符串
 * @type object
 * */ 
util.toQueryString = function(obj) {
    var str = "";
    for (let n in obj) {
        str += n + "=" + obj[n] + "&";
    }
    str = str.substring(0, str.length - 1);
    return str;
}

/**
 * 查詢字符串轉爲對象
 * */ 
util.parseObject = function(url){
    var obj = {};
    if(url.indexOf('?')!==-1){
      var url = url.substring(url.indexOf('?')+1);
    }else{
      return {};
    }
    var arr = url.split('&');
    arr.forEach(function(val){
      var brr = val.split('=');
      obj[brr[0]] = brr[1];
    });
    return obj;

}


// 一些其餘方法

    function isObject(obj) {
        return obj !== null && typeof obj === "object";
    }

    function isArray(obj) {
        return Array.isArray(obj);
    }

    function isEmptyObject(obj) {
        for (let n in obj) {
            return false;
        }
        return true;
    }

    // 對象轉爲查詢字符串
    function to_query_string(obj) {
        let str = "";
        for (let n in obj) {
            str += n + "=" + obj[n] + "&";
        }
        str = str.substring(0, str.length - 1);
        return str;
    }
    // 轉字符串
    function to_string(obj) {
        return JSON.stringify(obj)
    }

    // 計算字符串的字節長度
    function getByteLen(val) {
        let len = 0;
        for (let i = 0; i < val.length; i++) {
            if (val[i].match(/[^\x00-\xff]/gi) != null) {
                len += 2;
            } else {
                len += 1;
            }
        }
        return len
    }

    /**
     * @description 字符串格式轉換:駝峯式 轉爲 下劃線式
     * @param {string} str 
     */
    function getKebabCase(str) {
        return str.replace(/[A-Z]/g, function (i) {
            return '_' + i.toLowerCase()
        })
    }

    /**
     * @description 字符串格式轉換:下劃線 轉 駝峯式
     * @param {string} str 
     */
    function getCamelCase(str) {
        return str.replace(/_([a-z])/g, function (all, i) {
            return i.toUpperCase();
        });
    }
相關文章
相關標籤/搜索