<script type="text/javascript"> //使用String的prototype为String对象添加新方法 String.prototype.len2 = function() { return this.replace(/[^\x0-xf]/g,"##").length;//将每一个中文等两个字节的字符替换成## } var str = "ab测试c"; alert(str+" 字节数为:"+str.len2());//结果为7 </script>
上面的代码使用了原始的方式向String类中添加了一个len2方法,用来以字节为单位获得字符串长度。基本原理是将每一个包含两个字节的字符使用正则表达式替换成“##”。
\xn:表示十六进制数n表示的字符。