input输入框只能输入数字,输入其他字符自动删除
一些有严格输入限制场合
一些前置知识
- 在input的onkeyup里面实现, 可以兼容到粘贴的情况
- 正则表达式[]中括号里面的表示非
- 如果直接this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,''),就会出现光标在文字中间时输入,会自动跳转到末尾的问题
- input.selectionStart(光标开始),end = input.selectionEnd(光标结束)可读可写
- 每次触发事件后都需要重新设置光标的位置,需要注意输入前后的光标位置变化
- 实现思路是从光标与末尾的距离入手, 输入结束之后,依然保证光标与末尾的距离
代码