个人理解spilt函数是javascript中字符串和正则表达式的一个联合应用。功能是根据指定的正则表达式(如果是字符串的话也会转为正则表达式)对字符串进行分割。返回值是一个被分割后的字符串数组。
最简单额分割就是根据一个指定的字符对字符串进行分割。
如:
"a,n.c,b".split(",")//=>["a","n.c","b"]
上面这个应用非常好理解,但是看到JS权威指南的时候看到的一个例子却让我花费了点心思才想清楚。
原文:
var text="teststring: 1, 2, 3";
text.split(/\D+/)//=>["","1","2","3"]
刚开始接触到这种正则与字符串的混用确实会看起来有点难。这里就说明应该如何一步步思考得到这个结果。
首先看一个例子:
",a,b,c".split(",")//=>["","1","2","3"]
对于这个结果不用多言,但是可以作为我们思考的一个起点。
个人刚开始难以理解的就是为什么在text使用非数字匹配以后会得到一个空字符串作为第一次分割的结果。对比思考这个问题我们很容易就得到答案了。text使用/\D+/匹配的第一次应该是"teststring: ",他作为一个切割标识,但是他前面已经没有字符,相当于例子中字符串(",a,b,c")中的第一个",",所以第一次返回为""。
接下来就是字符值"1"后面开始匹配了,这次匹配的是", "这样一个字符串,此时就会把"1" "2"分割出来。这样整个思路就通顺了。

JS中的split的更多相关文章

  1. 【JS新手教程】JS中的split()方法,拆分字符串

    该方法具体如代码和图中的注释,直接在语句后面加注释了.格式:要拆分的字符串.split(拆分依据的字符)例如该文中的例子,拆分人名,电话,地址.该文中用了个文本框,文本框中需要输入的格式是:人名,电话 ...

  2. JS中,split()用法(将字符串按指定符号分割成数组)

    <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title ...

  3. 表值函数与JS中split()的联系

    在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...

  4. js中slice(),splice(),split(),substring(),substr()的使用方法和区别

    1.slice(): Array和String对象都有 在Array中  slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...

  5. js中split()方法得到的数组长度

    js 中split(",")方法通过 ”,“ 分割字符串, 如果字符串中没有 “,” , 返回的是字符串本身 var str = “abc”://分隔符个数为0 var newSt ...

  6. JS中split用法和数组中元素的删除

    JS中split用法 <script language="javascript"> function spli(){ datastr="2,2,3,5,6,6 ...

  7. js中的slice()、substring()、substr()、split()、join()、indexof()

    在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...

  8. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  9. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

随机推荐

  1. C#交错数组的用法

    class Program { static void Main(string[] args) { /* *交错数组,就是一个一维数组里面的每一项都是一个一维数组 *new交错数组的时候需要注意int ...

  2. oracle执行计划之-表连接方式

    转载自:http://blog.csdn.net/tianlesoftware/article/details/5826546 在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的 ...

  3. linux yum软件管理

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  4. mysql 根据某字段特定值排序

    比如: 表 :user 字段:orders (值为 1,2,3) 要求根据字段  orders 按2 -> 1 -> 3 排序 使用以下语句实现SELECT *FROM userORDER ...

  5. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

  6. Extended TCP/IP Stack In Linux: Netfilter Hooks and IP Table

    https://www.amazon.com/gp/product/1118887735 The chapter about debugging is rather outdated - it des ...

  7. rabiitmq集群完整安装

    通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收. ...

  8. 新增了个job

    https://112.124.41.113/svn/wbhpro/wbh-adapter-job

  9. [2014.01.27]WFsoft.wfLibrary.wfVerifyImage 1.8

    全新开发的验证码图片控件--WFsoft.wfLibrary.wfVerifyImage,使用简单,功能强大.     完全支持.net 2.0编写,对下一代操作系统平稳过渡.     同时支持.ne ...

  10. 【linux】之相关命令

    防火墙 ) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off ) 即时生效,重启后失效 开启: service iptables s ...