第一个改成function strEnglish(str){
var pattern = /[^\x00-\xFF]/; 
return !pattern.test(str);
}

解决方案 »

  1.   

    我这测试没问题呀,你来?<script>
    function strChinese(str){
    var pattern = /[^\u4E00-\u9FA5]/; 
    return !pattern.test(str);
    }
    alert(strChinese("上面是你提供的兩個有效性檢測函數"))
    alert(strChinese("但我在繁體IE5中使用時出現以下BUG"))
    alert(strChinese("其實是我要用到這兩個函數"))
    alert(strChinese("感謝你的提供"))
    </script>
      

  2.   

    秋水,把blueidea那边也改过来吧?
      

  3.   

    謝謝﹐第一個函數OK﹐不過第二個函數先搞清楚功能﹕
    函數如果檢測到字串只含中文(就是說都是由漢字組成)就返回true﹔否則就返回false﹔如果我的理解沒錯那么可能真的簡繁體會存在差異﹔
    <script>
    function strChinese(str){
    var pattern = /[^\u4E00-\u9FA5]/; 
    return !pattern.test(str);
    }
    alert(strChinese("上面是你提供的兩個有效性檢測函數"))
    alert(strChinese("但我在繁體IE5中使用時出現以下BUG"))
    alert(strChinese("SADG"))
    alert(strChinese("aaas"))
    </script>執行結果應該是:false,false,true,true
    但我執行結果是:false,false,false,false
    如果你還有看這個貼的時候﹐無論有沒有解決﹐請留給言﹐謝謝
      

  4.   

    自己瞎猜,纯属胡说,^_^,讨论嘛\u是匹配什么?匹配uni-code?(第一次看到)看4E00的编码位置应该是如果是这样的话,/[^(\u4E00-\u9FA5)|(\u-\u)]/把繁体的范围加上就可以了吧?
      

  5.   

    可是我不知道繁体的汉字范围,因为繁体IE里的字符集好像和简体中繁体的不一样我这显示,true,false,false,falsealert(strChinese("上面是你提供的兩個有效性檢測函數"))
    alert(strChinese("但我在繁體IE5中使用時出現以下BUG"))
    alert(strChinese("SADG"))
    alert(strChinese("aaas"))