JS 获取中英字符串字节长度

正则匹配中文字:

这里限定中文字的范围,一般的使用是没什么问题的。如果要求十分严格的话,那么就只能使用更加严谨的代码匹配了

1:/([^\u0000-\u00FF])/g

2:/[^\x00-\xff]/ig

下面是网上查到的两种写法:

http://www.uw3c.com/jsviews/js62.html

方法一
function getBt(str){ var char = str.match(/[^\x00-\xff]/ig); return str.length + (char == null ? 0 : char.length); } 这种方法的原理是把是中文的字符都放进一个变量char,如果没有中文char会为null,如果有值再把char的length加上一回,这样一来就等于中文的字符的length加了两回。 解决办法2: function getBt(str){ var char = str.replace(/[^\x00-\xff]/g, '**'); return char.length; } alert(getBt("UW3C技术分享")); 这种方法的原理更简单,把是中文的替换成“**”之后在算长度,就能得到字节数。

 

posted @ 2016-04-13 13:56  Danlis  阅读(602)  评论(0编辑  收藏  举报