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 相关文章推荐
利用javascript的面向对象的特性实现限制试用期
Aug 04 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
Nov 20 Javascript
用js调用迅雷下载代码的二种方法
Apr 15 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
写JQuery插件的基本知识
Nov 25 Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 Javascript
基于jquery插件实现拖拽删除图片功能
Aug 27 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
confirm确认对话框的实现方法总结
Jun 17 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
Apr 22 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 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
php抓取https的内容的代码
2010/04/06 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
实习自我鉴定
2013/12/15 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
财务负责人岗位职责
2015/02/03 职场文书
入党介绍人意见2015
2015/06/01 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
利用Python实现Picgo图床工具
2021/11/23 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏