日期:2014-05-16  浏览次数:20460 次

一个正则
JScript code

function splitTest0530(){
        var colors = "red,blue,green,yellow";
        var colors1 = colors.split(",");
        var colors2 = colors.split("," , 2);
        var colors3 = colors.split(/[^\,]+/);
        return "colors1:" + colors1 + "\nlength=" + colors1.length + "\n" 
                + "colors2:" + colors2 + "\nlength=" + colors2.length  + "\n" 
                + "colors3:" + colors3 + "\nlength=" + colors3.length  + "\n";
    }


HTML code

<input type=button value =alertColors onclick=alert(splitTest0530()) />


在IE和火狐中
colors3有所不同
IE:
火狐:
我想,这可能是由于不同浏览器对这个方法的实现有所差别。请问,var colors3 = colors.split(/[^\,]+/);这句里面split()接受的正则该如何理解?

------解决方案--------------------
以,开头。。+表示重复一次或更多次
------解决方案--------------------
[^\,]+ 以多个非,作为分隔符
你的例子中分别是red blue green yellow
所以返回, , ,
由于数组的toString默认已,分隔 所以返回,,,,,
我用的火狐和ie结果一样 长度是3 不知楼走用的哪个版本