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 相关文章推荐
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
jquery根据属性和index来查找属性值并操作
Jul 25 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
Javascript的比较汇总
Jul 25 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 Javascript
vue2单元测试环境搭建
May 24 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
中职生自荐信范文
2014/06/15 职场文书
作风转变年心得体会
2014/10/22 职场文书
见习报告格式要求
2014/11/04 职场文书
管辖权异议上诉状
2015/05/23 职场文书
2015年除四害工作总结
2015/07/23 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle