zoukankan      html  css  js  c++  java
  • 限制输入框的输入的字符长度

    我们通常用到限制输入框如input 框输入的文字长度的方法就是在dom层给input标签加属性minlengthmaxlength

    比如这样 minlength="4" maxlength="8"  就是最少4个最多8个字符

    但是我们在开发的时候不单纯的只是在中文状态下的输入,还有英文状态下输入的情况,必将网站国际化嘛哈哈哈哈~~~~。

    那么问题来了,中文状态下8个字符长度挺合适的,英文状态下仅仅8个字符恐怕是不行的吧。

    以下为解决办法:

    解决思路:中文字符是英文字符的2倍,所以当8个字符于中文来说合适的时候16个字符则对英文状态是合适的

    $("#inp").on("input propertychange",function(e)

    {

      checkIt("inp",16)
    })

    function checkIt(bind,maxNum)
    {
      var v = document.getElementById(bind).value;

      if(v==""){return [];}

      var len=0; //中英字符长度计数
      //计算
      for(i=0;i<v.length;i++)
      {
        var c = v.charCodeAt(i);
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f))//英文字母状态
        {
          len++;
        }

        else//中文状态
        {
          len += 2;
        }
        if (len >=maxNum)
        {
          if(i!= v.length-1)
          {
            $("#inp_name").val(v.substr(0,count))
            break;
          }
        }

      }

    }

    如果有更好办法的小伙伴,希望能不吝赐教哦~~~~嘻嘻

  • 相关阅读:
    iframe高度自适应方法
    mysql left join对于索引不生效的问题
    禁止百度转码和百度快照缓存的META声明
    使用graphviz绘制流程图
    安装php扩展sphinx-1.2.0.tgz和libsphinxclient0.9.9
    5种主要的编程风格和它们使用的抽象
    Nodejs调用Aras Innovator服务,处理AML并返回AML
    使用Rancher管理Docker
    docker容器间通信
    使用Portainer管理Docker
  • 原文地址:https://www.cnblogs.com/Ella2018/p/10552117.html
Copyright © 2011-2022 走看看