zoukankan      html  css  js  c++  java
  • 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);");

  • 相关阅读:
    模式的作用就是解耦,解耦,再解耦,让事情变简单、可控制。
    系统的同构性分析
    “以客观事物(object)的形式来组织程序”
    String的indexOf()的三种情况
    关于finally关键字
    openSession和getCurrentSession的区别?
    eclipse括号跳转
    final修饰的类能不能创建一个对象
    使用svn从恢复到某个版本的时候会报错
    关于TableModel的中获取表格数据的问题
  • 原文地址:https://www.cnblogs.com/ruanbl/p/815619.html
Copyright © 2011-2022 走看看