获取字符串长度与截取字符串

在js中字符串部分中英文,那么对于有些对字符长度有要求的,不能写死。

下面这个是中文占3个字符长度。

    getStrLen:function(value) {
      var len = 0;
      if (value) {
        for (var i = 0; i < value.length; i++) {
          var tmpCode = value.charCodeAt(i);
          if (tmpCode > 255 || tmpCode < 0) {
            len += 3;
          } else {
            len++;
          }
        }
      }
      return len;
    }

本文主要Oracle下中文占3个字符的判断。使用getSubStr(strValue,2);

    getSubStr: function(value, iLen) {
      // 输出长度字符串
      if (value != '') {
        if (this.getStrLen(value) > iLen) {
          // 处理
          var iStart = Math.floor(iLen / 3);
          for (var i = iStart; i < value.length; i++) {
            if (this.getStrLen(value.substring(0, i)) == iLen) {
              return value.substring(0, i);
            } else if (this.getStrLen(value.substring(0, i)) > iLen) {
              return value.substring(0, i - 1);
            }
          }
        } else {
          return value;
        }
      } else {
        return value;
      }
    }

页面卡死问题找不到之分辨率问题
解决方法:

1.布局问题,因为出问题的是device-pixel-ratio。
2.问题现象是高分屏下整好的东西,在普分屏下会放大;而普分屏下整好的东西,在高分屏上会缩小。
3.重现这个问题不需要高分屏,直接用Ctrl++或者Ctrl+-出来的效果是跟高分屏一致的(所以搞定这个问题之后,也可以同时预防用户误触网页缩放)。另外恢复是Ctrl+Num0
4.解决的关键在css的media中适配写device-pixel-ratio单独适配像素比;另外,需要把绝大多数组件由px单位转换为rem单位,因为需要在前边提到的device-pixel-ratio里调节:root的font-size`,以达到动态缩放的目的

//页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。

document.getElementsByTagName('body')[0].style.zoom = 1 / window.devicePixelRatio;

处于困境中的人往往只关注自己的问题。而解决问题的途径通常在于你如何解决别人的问题。 ------苏世民###

你可能感兴趣的:(获取字符串长度与截取字符串)