1. 程式人生 > >Javascript解析INI檔案內容的函式

Javascript解析INI檔案內容的函式

.ini 是Initialization File的縮寫,即初始化檔案,ini檔案格式廣泛用於軟體的配置檔案。

INI檔案由節、鍵、值、註釋組成。

寫了個Javascript函式來解析INI檔案內容,傳入INI格式的字串,返回一個json object。

    function parseINIString(data){
        var regex = {
            section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
            param: /^\s*([\w\.\-\_]+)\s*=\s*(.*?)\s*$/,
            comment: /^\s*;.*$/
        };
        var value = {};
        var lines = data.split(/\r\n|\r|\n/);
        var section = null;
        lines.forEach(function(line){
            if(regex.comment.test(line)){
                return;
            }else if(regex.param.test(line)){
                var match = line.match(regex.param);
                if(section){
                    value[section][match[1]] = match[2];
                }else{
                    value[match[1]] = match[2];
                }
            }else if(regex.section.test(line)){
                var match = line.match(regex.section);
                value[match[1]] = {};
                section = match[1];
            }else if(line.length == 0 && section){
                section = null;
            };
        });
        return value;
    }

測試INI內容:


返回結果物件: