可以使用以下代码实现:

var str = '这是一个测试字符串';
if (str.length > 40) {
    var len = 0;
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 255) {
            len += 2;
        } else {
            len++;
        }
        if (len > 40) {
            str = str.substr(0, i);
            break;
        }
    }
}
console.log(str);

其中,通过遍历字符串的每个字符,判断其是否属于 ASCII 字符集(即是否小于等于 255),如果是则长度加 1,否则加 2。当长度超过 40 时,使用 substr 方法截取前面的部分字符串。最后输出截取后的字符串。

JavaScript 字符串字节长度判断及截取 - 超过40字节截取示例

原文地址: https://www.cveoy.top/t/topic/lMPd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录