Html怎样用js限制某input输入框仅允许输入英文或数字呢?(使用onkeydown事件)
Html怎样用js限制某input输入框仅允许输入英文或数字呢?(使用onkeydown事件)
不认同@elliott的答案1,keydown, keypress, keyup三个键盘事件最大的不同在于触发顺序。至于它们一些别的键码上的细微区别,一搜一大把。并不是只有keyup才能获取当前输入,而且,也是不能直接获取字符的。
回归到题主的问题,思路其实就是基本的正则过滤,楼上的答案2已经给出。拿到键码,匹配正则。当然粗暴点,你也可以列个keyCode的hash,进行匹配判断。
话说,为什么不用keypress。最起码天然过滤功能键不好么。顺带一提,别忘了PreventDefault哦
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
简单点写就是这样
这里非法字符先出现,后被替换为'',会有闪烁的现象,如果想要做的更好点,那就推荐用个div和input叠在一起,让input过滤后的value innerHTML到div中