在低版本IE,測試發現IE8及以下版本對js字符串截取函數substr存在兼容性問題。
經過測試發現,substr函數在IE6和IE8下起始位置不支持負數。
例:txt = ‘Leiyu’;
alert(txt.substr(-1,1));
正常情況下(測試通過IE9,IE11和FF)應該輸出‘u’,但是在IE6和IE8下卻輸出的為‘L’。
解決辦法:
alert(txt.substr(txt.length-1,1));
還可以使用substring()函數,substring()和substr()的區別是:substring()兩個參數分別為起始位置,當開始位置為負數時,從第一個字符開始截取,而substr()的兩個參數是起始位置和長度,當開始位置為負數時,(IE9,IE11,FF默認從最后一位從前數,而IE6和IE8則從第一位開始截取)。