string.prototype|String.prototype.split()兼容问题

更新时间:2017-10-18    来源:浏览器    手机版     字体:

【www.bbyears.com--浏览器】

String.prototype.split方法的参数支持字符串也支持正则,而在IE6~8(可能更低的IE版本也会有错误,这我就不去测试了)用split切出的数组和遵循W3C标准的浏览器所得到的结果是不一样的

脚本:

 代码如下

"a:b:c".split(/(:)/)

Firefox输出:
["a",":","b",":","c"]

IE7/8(含IE9兼容的模式)输出:

 a,b,c

IE9 中文本框中出现了 n时   会把他保留 需要去掉 而IE7/8(含IE9兼容的模式) 中并无出现

比如

12 12

12 12

12 12n12 12 这是IE9 中   而IE7/8(含IE9兼容的模式)是12 1212 12

总结出一个兼容

 代码如下

var rgb2Array = function () {
    var test = (" a b c ").split(/s/),
    isWrong = test.length === 3;
   
    return isWrong ? function (str) {
        return str.split(/D+/);
    } : function (str) {
        var ret = str.split(/D+/);
        ret.shift();
        ret.pop();
        return ret;
    };
}();

本文来源:http://www.bbyears.com/bangongshuma/36403.html

猜你感兴趣

热门标签

更多>>

本类排行