2013-05-13 43 views
0

我有這片JS引發了上述錯誤(IE8 & 7)。我已經看了一個尾隨逗號一千次,並找不到它 - 可能是其他地方的問題?任何幫助,將不勝感激。'1'爲空或沒有對象...再次

ts.addParser({ 
id: 'customDate', 
is: function(s) { 
    return false; 
}, 
format: function(s) { 
    var date = s.match(/^\s(\w{1,2})[.](\d{1,2})[.](\d{4})[,]\s(\d{1,2})[:](\d{1,2})\s\bUhr\b\s$/); 

    var day = String(date[1]); 
    var month = String(date[2]); 
    var year = String(date[3]); 
    var hour = String(date[4]); 
    var minute = String(date[5]); 
    return '' + year + month + day + hour + minute; 
}, type: 'numeric' 
}); 
+0

什麼是 「TS」 的參考?該錯誤發生在「addParser」函​​數內部,並且沒有看到將很難說出問題所在。 – Pointy 2013-05-13 15:34:01

+0

錯誤發生在這裏:var day = String(date [1]); ts是指Tablesorter插件。 – user1209235 2013-05-13 15:34:56

+0

它應該不是'date [0]','date [1]',... – karthikr 2013-05-13 15:34:59

回答

3

如果正則表達式匹配失敗datenull。所以

var day = String(date[1]); 

將會失敗。

添加一個檢查:

if (date === null) // return error or some default 
+0

正則表達式匹配不會失敗,並且日期不爲空。任何其他想法? – user1209235 2013-05-14 08:21:19

+0

感謝您指引我朝着正確的方向發展。看來IE7並不喜歡那個正則表達式,這要歸功於另一個bug - http://blog.stevenlevithan.com/archives/regex-lookahead-bug – user1209235 2013-05-14 15:49:17

+0

在改變正則表達式之後,它就像一個魅力一樣。 – user1209235 2013-05-14 15:49:38