Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

split方法在低版本IE上的BUG

  split方法是支持正则表达式的,ES中还对它的获取匹配和贪婪模式做了一些定义,低版本IE尚未兼容上。这些新概念不被兼容是无可厚非的,但是低版本IE甚至连split的基本功能都没兼容好。split方法使用正则表达式时,返回的结果中就会吞掉所有空字符串。
  一句简单的代码就可以测试出来

  IE8的行为很诡异吧?这三个逗号应该是一个具有4个元素的空数组转换成字符串的结果。所以以逗号分割应该是4个元素才对,但是由于元素全是空字符串,所以被饥渴的IE8吞掉的。

  魂淡IE8,看看你都对我们可爱的字符串做了什么!(╬ ̄皿 ̄)凸
  不过万幸的是split使用字符串就可以正常工作。

  如果我们需要同时使用多个字符切字符串又想兼容IE8可以先把需要用于切割的字符replace到同一个字符再执行split。(虽然效率不高)。 "a,,|b;,c;,".replace(/[|;]/g,",").split(","); //,|;都是分隔符
  如果要用非消耗匹配的正则去分割字符串,而且还想兼容好IE8的话,咳咳咳,另谋出路吧,别想split了,天涯何处无芳草呢。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^