javascript里绝对用的上的字符分割函数总结


Posted in Javascript onJuly 31, 2014
var data = [['your name', 'myvalue'], ['myr name', 'thivalue']];

function string_join(data) {
  var str = '', arr = [];
  for (var i = 0; i < data.length; i++) {
   for (var j = 0; j < data[i].length; j++) {
    data[i][j] = slash(data[i][j]);
   }
   arr.push(data[i].join('/'));
  }
  return arr.join(',');
}

function slash(string) {
 return String(string).replace(/[\\/,]/g, '\\$&');
}

function string_split(string) {
 var c,
   cur_str = '',
   cache = [],
   result = [];
 for (var i = 0; i < string.length; i++) {
  c = string.charAt(i);
  switch(c) {
   case '\\':
    cur_str += string.charAt(++i);
    break;
   case '/':
    cache.push(cur_str);
    cur_str = '';
    break;
   case ',':
    cache.push(cur_str);
    cur_str = '';
    result.push(cache);
    cache = [];
    break;
   default:
    cur_str += c;
  }
 }

 if (cur_str.length) {
  cache.push(cur_str);
 }

 if (cache.length) {
  result.push(cache);
 }

 return result;
}

var before = string_join(data);
console.log(before);
var after = string_split(before);
console.log(after);
Javascript 相关文章推荐
javascript闭包传参和事件的循环绑定示例探讨
Apr 17 Javascript
JS原型链 详解及示例代码
Sep 06 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
Angular CLI 安装和使用教程
Sep 13 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
Jan 07 Javascript
js实现图片上传并预览功能
Aug 06 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 Javascript
微信小程序后端实现授权登录
Feb 24 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
超链接的禁用属性Disabled使用示例
Jul 31 #Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 #Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 #Javascript
javascript函数中参数传递问题示例探讨
Jul 31 #Javascript
JavaScript数值转换的三种方式总结
Jul 31 #Javascript
new Date()问题在ie8下面的处理方法
Jul 31 #Javascript
JS数组的遍历方式for循环与for...in
Jul 31 #Javascript
You might like
php安全配置 如何配置使其更安全
2011/12/16 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
调整PHP的性能
2013/10/30 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
python字符串判断密码强弱
2020/03/18 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
如何用python 操作zookeeper
2020/12/28 Python
Shell编程面试题
2012/05/30 面试题
买房协议书
2014/04/11 职场文书
群众路线对照检查材料
2014/09/22 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript