美文网首页
获取字符串长度与截取字符串

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

作者: Simple_Learn | 来源:发表于2022-01-04 17:22 被阅读0次

    在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;

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

    相关文章

      网友评论

          本文标题:获取字符串长度与截取字符串

          本文链接:https://www.haomeiwen.com/subject/tczqcrtx.html