IE6和IE8下对js字符串截取函数substr兼容性问题

2014-03-16 11:33:42来源:oschina作者:

在低版本IE,测试发现IE8及以下版本对js字符串截取函数substr存在兼容性问题。

在低版本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则从第一位开始截取)。

赞助商链接: