Javascript校验含中文的字符串长度
http://www.itjxue.com 2015-08-06 23:18 来源:未知 点击次数:
网上有不少解决方案,贡献下我使用的两个函数:
/** * 得到字符串的字符长度(一个汉字占两个字符长) */ 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; }
一个实例:
[ 提示:你可先修改部分代码,再按Ctrl+A 全部选择 ]