input输入长度与限制内容

 

1、限制input最大长度

          <input type="text"  maxlength="5" />   //可以

          <input type="number"  maxlength="5" />  //没有效果

          <input type="number" οninput="if(value.length>5) value=value.slice(0,5)" /> //js控制,可以

          <input type="tel"  maxlength="5" />  //tel类型,可以

          此外,tel类型的input在ios上会调出全数字键盘,而number类型的input则会调出带有标点符号的键盘。

2、限制input输入框为纯数字:
         a、onkeyup = "value=value.replace(/[^d]/g,'')"

         使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母

          b、onchange = "value=value.replace(/[^d]/g,'')"

          使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

          c、oninput = "value=value.replace(/[^d]/g,'')"

          使用 oninput 事件,完美的解决了以上两种问题,暂时还没有出现其它问题。

原文地址:https://www.cnblogs.com/onesea/p/13864246.html