<SCRIPT LANGUAGE="JavaScript">
function checkstr(str,digit){
var n=0;
for(i=0;i<str.length;i++){
var leg=str.charCodeAt(i);
if(leg>255){
n+=2;
}else{
n+=1;
}
}
if(n>digit){
return true;
}else{
return false;
}
}
  </SCRIPT>255是什么意思为什么是255怎么知道大于255是汉字

解决方案 »

  1.   

    ascii字符集是8位二进制数,8位二进制数最大是255
    中文是16位二进制数表示的
      

  2.   

    charCodeAt 是返回字符的 unicode 编码
    这个编码大于0小于255, 那这个字符一定不是汉字.
    至于怎么知道的,,..楼下回答
      

  3.   

    charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
    方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
    charCodeAt函数返回值
    返回n位置字符的Unicode编码(此编码为16位,在0-65536之间)
    如果n不在0到string.length-1之间,将返回NaN
    eg
    var str = "www.dreamdu.com";
    document.write(str.charCodeAt(5));
    str = "www.dreamdu.com";
    document.write(str.charCodeAt(20));
    str = "www.dreamdu.com";
    document.write(str.charCodeAt(-5));
    str = "梦之都";
    document.write(str.charCodeAt(2));
    结果:
    114
    NaN
    NaN
    37117
      

  4.   

    返回n位置字符的Unicode编码(此编码为16位,在0-65536之间) 不是可以在有在255了37117 
    这数字是怎么算的
    这样大啊