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

本文详细介绍了正则表达式在匹配中文字时的使用方法及两种常见写法的原理,包括解决中文字符计数的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则匹配中文字:

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

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技术分享")); 这种方法的原理更简单,把是中文的替换成“**”之后在算长度,就能得到字节数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值