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

内容摘要
在低版本IE,测试发现IE8及以下版本对js字符串截取函数substr存在兼容性问题。经过测试发现,substr函数在IE6和IE8下起始位置不支持负数。
文章正文

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

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!