你知道吗?
lenb("我爱asp")=10有一个函数,vbs的,在aspcn可以判断汉字和其他的,分别给出长度

解决方案 »

  1.   

    一个字一个字的判断,如果charcode>255就把长度加2,否则加1
      

  2.   

    下面的函数用来获得长度,方法是先取得长度然后去掉字符,在算一遍长度,两者想加。
    如果你要判断的str 包含了标点符号就回多算
    你可以改变 re = /\w|\s\/g; 这句话function ABC_absLen(str){
    var abs_l //绝对长度
    abs_l = str.length
    re = /\w|\s\/g; //把一些其它字符长度多算了一位!
    str = str.replace(re,'')
    abs_l = abs_l + str.length
    return abs_l
    }
      

  3.   

    to julyclyde(Clyde) 
    发现你挺有意思,你是不是对“所有程序都有bug”很认同!
    我想只要漏洞可以忽略就可以了!
      

  4.   

    julyclyde(Clyde)自己试试吧,vbs中asc返回的是小于0,js中charCodeAt()返回的可都是几万以上的
      

  5.   

    to:deepool(^o^) 
    re = /\w¦\s\/g;??通不过吧?
    re=/\w|\s/g还差不多
      

  6.   

    我的失误!
    好像vbs和js的数字类型不一样,一个是有符号一个是无符号。内部存储大概是一样的吧?
      

  7.   

    所有程序都有bug,特别是我的……
      

  8.   

    <script language="JavaScript">
    str = "汉字和english和换行\n";
    nLen = str.length;
    for(i=0;i<str.length;i++)
    if(str.charCodeAt(i)>255)
    nLen++;
    alert(nLen);
    //will show 20 NOT 21
    </script>
      

  9.   

    在JavaScript中若用<0判断则结果为14结贴,给分
      

  10.   

    silentlamb(silent):不好意思,分给错了,本来想给呢10分的,现在怎么办呢?