zoukankan      html  css  js  c++  java
  • 限制文本框输入N个字符的使用

    这里的字符指的是汉字占两个字节,而数字及其字母占一个字节,如果使用substr肯定是不可以的,所以要做的就是

    1.  首先区分出来是两个字节的字符还是一个字节的字符;

    2.  使用charCodeAt和String.fromCharCode即可进行相互转换。

    代码如下:

    function validatePostponeValue(obj, objLength)
    {
        
        var executeResult = false;
        var value = obj.value; 
        var byteLen=0,len=value.length;
        var newValue = "";
     if(value)
     {
         for(var i=0; i<len; i++)
         {
             if(value.charCodeAt(i) > 255)
             {
                byteLen += 2;
                 if(byteLen <= 18)
                 {
                     //alert(String.fromCharCode(value.charCodeAt(i)));
                     newValue += String.fromCharCode(value.charCodeAt(i));
                 }             
             }
             else
             {
                 byteLen ++;
                 if(byteLen <= 19)
                 {
                     //alert(String.fromCharCode(value.charCodeAt(i)));
                     newValue += String.fromCharCode(value.charCodeAt(i));
                 }
             }
         }     
      }
      
      if(byteLen <= 0)
      {
        //alert("不能为空!");
        obj.focus();
      }
      else if(byteLen > objLength)
      {
        alert("最多只能输入十个汉字(20个字符)。");
        obj.focus();    
        obj.value = newValue;//value.substr(0, objLength -1); 
      }
      else
      {
        executeResult = true;
      }
      
      return executeResult;
    }
    
  • 相关阅读:
    协议
    创建属性、属性标签、对象序列化
    JS中generater和箭头函数
    前端forEach在Array、map、set中的使用,weakset,weakmap
    更新最大内码,金蝶开发
    ERP,还需要WEB开发吗
    可读性太低的SQL语句
    事务,视图和索引
    简单子查询
    创建表并添加约束
  • 原文地址:https://www.cnblogs.com/blackcore/p/1733389.html
Copyright © 2011-2022 走看看