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 相关文章推荐
用jquery实现下拉菜单效果的代码
Jul 25 Javascript
一些常用且实用的原生JavaScript函数
Sep 08 Javascript
ExtJS[Desktop]实现图标换行示例代码
Nov 17 Javascript
Javascript中的Array数组对象详谈
Mar 03 Javascript
javascript从image转换为base64位编码的String
Jul 29 Javascript
javascript异步编程代码书写规范Promise学习笔记
Feb 11 Javascript
javascript时间差插件分享
Jul 18 Javascript
简单实现Bootstrap标签页
Aug 09 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
使用store来优化React组件的方法
Oct 23 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
Apr 10 Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 Javascript
超链接的禁用属性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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
杏林同学录(八)
2006/10/09 PHP
一个好用的分页函数
2006/11/16 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
毕业生求职简历的自我评价
2013/10/07 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
青春励志演讲稿
2014/04/29 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
物理课外活动总结
2014/08/27 职场文书
大学生操行评语大全
2014/12/31 职场文书
店铺转让协议书
2015/01/29 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python