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;
    }
    
  • 相关阅读:
    Mysql 表分区
    Java json串生成及转bean
    ZK 样式使用
    ZK 使用jfreeChart
    Struct2 csv文件上传读取中文内容乱码
    Mysql 学习笔记
    java 调用C#webservice
    ace 后台管理模板可取之处
    Linux常用命令大全
    将图片转成base64写进hml,无需依赖本地文件
  • 原文地址:https://www.cnblogs.com/blackcore/p/1733389.html
Copyright © 2011-2022 走看看