staticjscommon.js
2043行
function strLenCalc(obj, checklen, maxlen) {
var v = obj.value, charlen = 0, maxlen = !maxlen ? 200 : maxlen, curlen = maxlen, len = strlen(v);
for(var i = 0; i < v.length; i++) {
if(v.charCodeAt(i) < 0 || v.charCodeAt(i) > 255) {
curlen -= charset == 'utf-8' ? 2 : 1;
}
}
if(curlen >= len) {
$(checklen).innerHTML = curlen - len;
} else {
obj.value = mb_cutstr(v, maxlen, 0);
}
}
计算字符串长度的代码有问题。
经测试,strlen() 函数,一个汉字返回 1 个长度,一个半角英文或标点也是返回 1 个长度。
所以根本没必要做 curlen -= 的处理! |