JavaScript实现解析INI文件内容的方法


Posted in Javascript onNovember 17, 2016

本文实例讲述了JavaScript实现解析INI文件内容的方法。分享给大家供大家参考,具体如下:

.ini 是Initialization File的缩写,即初始化文件,ini文件格式广泛用于软件的配置文件。

INI文件由节、键、值、注释组成。

根据node.js版本的node-iniparser改写了个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内容:

JavaScript实现解析INI文件内容的方法

返回结果对象:

JavaScript实现解析INI文件内容的方法

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
可插入图片的TEXT文本框
Dec 27 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
jQuery调用ajax请求的常见方法汇总
Mar 24 Javascript
javascript常用的方法分享
Jul 01 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 Javascript
使用vue重构资讯页面的实例代码解析
Nov 26 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
详解AngularJS中的表单验证(推荐)
Nov 17 #Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
Nov 17 #Javascript
用Vue.js实现监听属性的变化
Nov 17 #Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 #Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 #Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 #Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
Nov 17 #Javascript
You might like
自动分页的不完整解决方案
2007/01/12 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery.each使用详解
2015/07/07 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
第一个Vue插件从封装到发布
2017/11/22 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
Python多进程编程技术实例分析
2014/09/16 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
python tkinter窗口最大化的实现
2019/07/15 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
Python如何解除一个装饰器
2020/08/07 Python
求职信写作要突出重点
2014/01/01 职场文书
自我鉴定书面格式
2014/01/13 职场文书
党章学习思想汇报
2014/01/14 职场文书
红楼梦读书笔记
2015/06/25 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python