关于IE8浏览器下,split()和replace()函数的不兼容问题

在我们常用的jquery函数中,有两个经常使用的函数,split()和replace函数。
我在使用的时候,需要将一个含有开始和结束日期的字符串转化为两个新格式的字符串传给后台。
这个字符串格式是这样:YYYY.mm.dd-YYYY.mm.dd
我的做法是这样:

var timeArr = time.split('-');
var startTime = timeArr[0].replace(/\./g,'-');
var endTime = timeArr[1].replace(/\./g,'-');

我将time分隔为startTime和endTime,并且日期格式由YYYY.mm.dd改为YYYY-mm-dd。我在其他浏览器下使用都没有问题,但是在IE8浏览器,这几句代码突然就失败了。

我查找了各种各样的原因仍然没有找到方法,突然在百度下看到有人说将两个函数使用顺序改变一下:

var timeArr = time.replace(/-/g,'/').replace(/\./g,'-').split('/');
var startTime = timeArr[0];
var endTime = timeArr[1];

我是先把YYYY.mm.dd-YYYY.mm.dd改为YYYY-mm-dd/YYYY-mm-dd,然后再通过/字符来分隔两个时间字符串,尼玛!就这样就可以了!!在IE8下就可以了!

虽然我解决了这个问题,但是还是不知道其中的原因,希望知道原理的可以给讲解一下。这里只提供了解决办法。

你可能感兴趣的:(javascript)