Javascript校验含中文的字符串长度

原文地址:http://sozai.wlling.com/html/Tutorial/JavaScript/2009/0214/2936.html

/**

* 得到字符串的字符长度(一个汉字占两个字符长)

*/

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;

}

posted @ 2013-10-19 17:31  dapeng888  阅读(477)  评论(0编辑  收藏  举报