• TEXTBOX在MultiLine的情况下控制长度问题(附半角情况)


    今天遇到TEXTBOX在多行情况下的最大长度问题,网上有一些解决方法,但是都不是我最终需要的,不过还是整理了一下,差不多符合要求了。
    此JAVASCRIPT方法还有一个地方需要解决,就是控制不了用户在复制、粘贴的情况下输入。
     function textCounter(field, maxlimit)
            {
              
    var length = getStrActualLen(field.value);
              
    //如果是全部半角的情况下
              if(checkHankakuEisuji(field.value))
              {
                  
    if (length > maxlimit)
                  {           
                    field.value 
    = field.value.substring(0, maxlimit);
                  }
              }          
              
    else //含有全角的情况下 //.replace(/[^\x00-\xff]/g)
              {
                 
    if(length >maxlimit)
                 {
                     
    var fulllength = 0//其中全角的长度
                     var halflength = 0//其中半角的长度
                     var newlength =  0;  //实际要取的长度
                     for(var i=0;i<field.value.length;i++)
                     {
                        
    var code = field.value.charCodeAt(i);
                         
    if(code<48 || (code>57 && code<65|| (code>90 && code<97|| code>122)
                         {
                            fulllength 
    = fulllength + 1;
                         }
                         
    else
                         {
                            halflength 
    = halflength +1;
                         }
                     }                 
                     newlength 
    = halflength + (fulllength -1);
                     field.value 
    = field.value.substring(0, newlength);
                 }             
              }
            }          
    之所以要考虑全角半角的情况是因为数据库中的子段是一半角来计算的,英文可以输规定长度,但是汉字就只能输一半的长度,所以。
    最后在代码页要添加如下:
      
    this.Remark.Attributes.Add("onKeyDown""textCounter(this,40);");
        
    this.Remark.Attributes.Add("onKeyUp""textCounter(this,40);");

  • 相关阅读:
    ural 1723 Sandro's Book
    ural 1104 Don’t Ask Woman about Her Age
    ural 1052 Rabbit Hunt
    ural 1837 Isenbaev's Number
    ural 1348 Goat in the Garden 2
    ural 1207 Median on the Plane
    ural 1640 Circle of Winter
    段错误 核心已转储尝试解决
    显卡相关命令介绍【转载】
    Linux的top命令学习【转载】
  • 原文地址:https://www.cnblogs.com/ruanbl/p/815619.html
Copyright © 2020-2023  润新知