Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

转:含中文字符的字符串长度校验

Posted on 2009-01-14 12:18  analyzer  阅读(718)  评论(0编辑  收藏  举报

转自:http://lifesinger.org/blog/?p=461

网上有不少解决方案,贡献下我使用的两个函数:

	/**
* 得到字符串的字符长度(一个汉字占两个字符长)
*/
function getBytesLength(str) {
// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
return str.replace(/[^"x00-"xff]/g, 'xx').length;
}

/**
* 根据字符长来截取字符串
*/
function subStringByBytes(val, maxBytesLen) {
var len = maxBytesLen;
var result = val.slice(0, len);
while(getBytesLength(result) > maxBytesLen) {
result = result.slice(0, --len);
}
return result;
}

一个实例:validation_check_length.html

我要啦免费统计