js禁止输入非数字

其实是有两种做法的,第一种,当输入框状态改变的时候,即change事件时,将内容取出来,将所有的非数字字符,全替换为空,但这样挺别扭的,你一输入其它的,显示出来了,马上就消失了。第二种,就是以下的做法,监听键盘事件,如果不是数字键(分为两排,字母上面的一排与右边的数字键)则拦截掉该次按下事件,但也有弊端,就是粘贴的时候也还是会粘进来一些字符,或用鼠标拖拉文字,所以在提交时,需要做下判断,还有就是它除了数字键,其它的也给禁用了,包括删除键。。。

$(function() {

$('#save').button().click(function() { $('#AdvertForm').submit(); }); $('#cancel').button().click(function() { history.back(); }); $("#delayTime").keydown = keydown($("#delayTime")); $("#playCount").keydown = keydown($("#playCount")); }); function keydown(doc){ //doc为元素名称 $(doc).keydown(function(evt){ var kc = evt.keyCode; var array = new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105); var flag = true; for(var i = 0;i < array.length && flag; i++){ if(kc == array[i]){ flag = false; } } if(flag){ evt.keyCode = 0; evt.returnValue=false; return false; } }); }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值