<script type="text/javascript">
        var f = function() {
            var str = "M100L200L300L400Z";            var ar = str.split(/[M,L,Z]/);            alert(ar.length);
        }
    </script>
代码很简单,这样的代码,在ie中ar.length = 4, 在ff中 ar.length = 6
这么简单的代码居然都不一样,真是气死我了,我想要ie中的结果,请问怎么改正则表达式
能让ff中也等于4

解决方案 »

  1.   

    http://topic.csdn.net/u/20090821/10/7960b5f9-1f31-4e20-b0ef-ee940792aabe.html
      

  2.   

    IE与FF的确有这种区别.
    应该是IE用正则时,自动把空值丢了.
      

  3.   

    http://bytes.com/topic/javascript/answers/150099-split-regex-difference-between-ff-ie
      

  4.   

    这个不是正则的问题,而是浏览器的问题JavaScript split Bugs: Fixed!
    http://blog.stevenlevithan.com/archives/cross-browser-split
      

  5.   

      用splic切割这样子不行吗
      

  6.   


      <script type="text/javascript">
            var f = function() {
                var str = "M100L200L300L400Z";            if(!(!-[1,]))
        {
    var t=ar.join(',');
    ar=t.slice(1,t.length-1).split(',');
                }
                alert(ar.length);
            }
    f();
        </script>
      

  7.   

    split可以用正则表达式?我第一次听说。
    你可以用string.match等吗,js的正则表达式对象