Coding笔记

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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笔记  阅读(582)  评论(0编辑  收藏  举报