javascript如何获取中英文字符串的长度

网站地图:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

用jsvascript进行中文输入内容检测时候,经常要判断用户输入的文本长度,由于中英文所占字节数不一样,经常计算出来的长度不对。本代码彻底解决了此问题。

<html xmlns:v>
<head>
<script type="text/javascript">
function calculate_byte( sTargetStr ) {
        var sTmpStr, sTmpChar;
        var nOriginLen = 0;
        var nStrLength = 0;
        
        sTmpStr = new String(sTargetStr);
        nOriginLen = sTmpStr.length;

        for ( var i=0 ; i < nOriginLen ; i++ ) {
                sTmpChar = sTmpStr.charAt(i);

                if (escape(sTmpChar).length > 4) {
                        nStrLength += 2;
                } else if (sTmpChar!='\r') {
                        nStrLength ++;
                }
        }
       
        return nStrLength;
       
}

var a = "sf中国";

alert(calculate_byte(a));
</script>
</head>
<body>
ff

</body>

 </html>

 

posted @ 2008-09-06 09:03  armywin  阅读(520)  评论(0)    收藏  举报