js 输入文本计算字节数大小
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; }