關於部落格
- 一起墮落吧
  • 70735

    累積人氣

  • 9

    今日人氣

    0

    追蹤人氣

造孽的M$ IE

var str = "abc";
alert(str.split("a").length);
alert(str.split("b").length);
alert(str.split("c").length);
alert(str.split("abc").length);

不管在IE還是FireFox,都可以得到2鐵隻,2的四次alert訊息,看到這邊,一定有人會開始打瞌睡了,這東西還要人講?讓我們再看看下面使用Regex的程式碼

var str = "abc";
alert(str.split(/a/).length);
alert(str.split(/b/).length);
alert(str.split(/c/).length);
alert(str.split(/abc/).length);

在FireFox下面,依舊會得到2鐵隻,但是IE6卻會看到1,2,1,0...神秘了吧...有遭到程式荼毒過的人都知道,當使用split來切割字串的時候,頭尾就算是分隔符號,依舊會被切開。但是當IE6跟Regex,就會摩擦出讓小弟加班近兩個小時的火花來。原因是IE6跟魚攤的老闆一樣,當你買的魚要去頭去尾的時候,老闆不會把魚頭、魚尾還給你,而是會直接丟到一旁的垃圾桶裡面。

如果不只是IE6會這樣搞,那....天殺的明天來上班我就有得到把所有用Regex寫的程式改寫的機會了。唉~~~明天再來測看看C#使用Regex.Split會不會有這狀況吧。

20090417 update

經測試在C#下面,使用Regex.Split並不會出現跟IE6使用split(Regex)一樣的效果,只能說有拜有保佑阿~~~

相簿設定
標籤設定
相簿狀態