js cadena irregular para interceptación de bytes

Se encontró un pequeño problema, la cadena incluye "caracteres chinos", "números", "inglés", "símbolos" y otro contenido incierto, pero cuando se muestra, debe ser interceptado y mostrado después de ser demasiado largo. La intercepción de cadena simple puede no ser capaz de Para satisfacer las necesidades, encontré un método para calcular la cantidad de bytes en función de la cadena y luego realizar la interceptación de bytes.

Pegar el código directamente puede no ser muy completo, pero también es una nueva forma de pensar, solo regístrelo y pegue el código directamente.

    // 计算字节并截取
    filterStr(str) {
      let realLength = 0;
      const len = str.length;
      let charCode = -1;
      for (var i = 0; i < len; i++) {
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) realLength += 1;
        else realLength += 2;
        if (realLength > 30) { // 超过30个字节进行省略号展示
          return str.substring(0, i) + '...';
        }
      }
      return str;
    },

Supongo que te gusta

Origin blog.csdn.net/jinse29/article/details/130718220
Recomendado
Clasificación