JavaScript--文本框中只允许输入数字的操作(其…
2019-01-11 08:33:26来源:博客园 阅读 ()
在web网页中,尤其是某些提交表单操作,需要验证文本框输入内容,本文利用文本框键盘事件和事件对象,对文本框只允许输入数字方法进行总结。
1.键盘事件
keydown ---->键盘按下事件 keydown的时候,我们所按的键并没有落入文本框
keyup ----- >键盘弹起事件 keyup的时候,我们所按的键已经落入了文本框,没有机会再取消
所以要达到这种效果,需要使用keydown事件,此时还有机会取消,即利用取消默认行为方法完成按键落入文本框的取消
2.取消默认行为
方法1:return false;
方法2:e.preventDefault();
上述两种方法,用第一个,整个事件结束,后续代码没办法执行,第二个方法,默认事件取消,但是后续代码还可以继续执行。
3.获取用户按下的键
如何判断用户按下的键是数字,首先要获取用户按下的键,事件对象可以给我们传递一些参数,可以通过事件对象,获取按下的内容
e.keyCode 通过在键盘按下0和9,获取数字范围的键盘码范围,只要判断按下的键的键盘码是不是在这个范围就可以判断按下的是不是数字。需要注意,键盘中,字母键上面的数字键和右边的小键盘数字键的keyCode并不相同,要注意规避。
详细代码如下:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>文本框输入数字</title> 6 </head> 7 8 <body> 9 <input type="text" id="txt" /> 10 11 12 <script> 13 var txt = document.getElementById('txt'); 14 15 // 键盘事件 16 // keydown 键盘按下的时候 17 // keyup 键盘弹起的时候 18 // keydown 和 keyup的区别 keydown的时候我们所按的键还没有落入文本框 19 // keyup键盘弹起的时候按的键已经落入文本框 20 txt.onkeydown = function(e) { 21 e = e || window.event; 22 // e.keyCode 键盘码 23 // console.log(e.keyCode); 24 // 判断当前用户按下的键是否是数字 25 // 如果e.keyCode 的值在 48-57 是数字 26 // 按下后退键 8,删除一个字符 27 if((e.keyCode <48 || e.keyCode>57) && e.keyCode != 8){ 28 //return false; 29 e.preventDefault(); 30 } 31 console.log('asdas') 32 } 33 </script> 34 </body> 35 </html>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript特殊文本输入框网页特效 2020-03-16
- JS获取当前地理位置的方法 2020-01-17
- js判断文本框剩余可输入字数的方法 2019-12-13
- 总结js限制文本框的输入数字方法 2019-12-02
- jQuery动态改变多行文本框高度的操作方法 2019-11-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash