1. 输入文本框,超过最大字节数,自动删除
function removeExtraBytes(text, maxByteLength) {
// const maxByteLength = 10; // 设置最大字节长度为10
let byteCount = 0;
for (let i = 0; i < text.length; i++) {
if ((/[\u4e00-\u9fa5]/.test(text[i]))) {
byteCount += 2; // UTF-8编码下汉字占两个字节
} else {
byteCount++; // ASCII字符或其他特殊字符只占一个字节
}
if (byteCount > maxByteLength) {
return text.slice(0, i); // 返回前面部分的文本内容
}
}
return text; // 如果没有超过最大字节长度则直接返回原始文本
}
2. 输入文本框,计算实时字节数
// 字符串转成字节数
function getBytes(params, charMax) {
var bytes = params.length, i = 0;
for (; i < bytes; i++) if (params.charCodeAt(i) > 255) bytes++; // js使用UTF-8编码,汉字占两个字节数
return bytes;
}