input框限制输入多少位问题

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

比如这样 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;
      }
    }

}

}

限制输入的最大值,有几种方式可以实现。一种方式是使用HTML5的max属性,在input标签中设置max属性的值为所需的最大值,例如max="100"。这将限制输入输入的数字不能超过指定的最大值。另一种方式是使用JavaScript,在input标签的oninput事件中添加判断条件来限制输入的最大值。例如,可以使用以下代码来限制输入中的数字不能大于100: ``` <input type="number" oninput="if(value>100)value=100"/> ``` 这样,当输入输入的数字大于100时,会自动将输入的值设为100。这样就实现了限制输入最大值的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [input输入输入数字并限制输入数字大小或者限制输入数字长度](https://blog.csdn.net/qq_41256881/article/details/120727604)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [input number 数字输入限制,最大值最小值输入范围限制](https://blog.csdn.net/qq_43535970/article/details/127516919)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周亚鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值