JavaScript不分中英文字符长度判断

本文介绍了一种在JavaScript中实现统一中英文字符长度判断的方法,解决了IE浏览器中中文字符被误判为单字符的问题。通过将中文字符替换为两个英文字符,确保了字符计数的一致性。

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

JavaScript本身提供length可用于判断字符长度。
但本次在项目中使用时发现,IE将中文字符也识别为1个字符,与数据库的要求不一致,这样子使得JS的length判断字符长度形同虚设。
网上查到另一种判断字符长度的方法,基本思路是,将一个中文字符转换为两个英文字符,然后再计算字符长度。
基本代码如下:
1 function CheckTextLength() {
2             var testText = $("#txtDetailInfo").val();
3             var textlength = testText.replace(/[^\x00-\xff]/g, "NB").length;
4             if (textlength>500) {
5                 alert("输入的字符过长,超过500!本次输入的字符长为:" + textlength);
6             }
7         }
“/[^\x00-\xff]/g”是JavaScript的正则表达式,用于匹配双字节字符(包括汉字在内)。
1 testText.replace(/[^\x00-\xff]/g, "NB")
上述代码将双字节字符(包括汉字)转换为“NB”两个英文字符。后两个字符可任意选择。
这就实现了不分中英文的字符长度判断。
posted on 2012-04-25 18:51 Coding笔记 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zhouxiang/archive/2012/04/25/2470278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值