關於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下就可以了!

雖然我解決了這個問題,但是還是不知道其中的原因,希望知道原理的可以給講解一下。這裏只提供瞭解決辦法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章