ASP.NET让文本框只能输入数字的一种方法,外加回车换Tab

第一步利用样式表。

<asp:TextBoxRunat="server"id="TT"style="ime-mode:disabled"οnkeydοwn="myKeyDown()"></asp:textBox>
第二步利用js脚本。
function myKeyDown(){    var   k=window.event.keyCode;       if ((k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)|| (k>=48 && k<=57)||(k>=96 && k<=105)||(k>=37 && k<=40))     {}    elseif(k==13){        window.event.keyCode = 9;}    else{        window.event.returnValue = false;}}
利用样式表(style="ime-mode:disabled" )可以防止切换成汉字输入法,也就是说只能使用英文输入法,这样就防止了输入汉字的情况。 

js脚本就是要限制键盘输入,只能填入数字、小数点、负号、退格键、删除键和方向键。 

ascii码说明: 

8:退格键 
46:delete 
37-40: 方向键 
48-57:小键盘区的数字 
96-105:主键盘区的数字 
110、190:小键盘区和主键盘区的小数点 
189、109:小键盘区和主键盘区的负号 

13:回车 
9: Tab 就是那个把焦点移到下一个文本框的东东。 

对了还有两个缺点: 
1、没有验证多个小数点的情况。 
2、没有验证多个负号,和符号必须在前的情况。
来源:http://www.chenjiliang.com/Article/View.aspx?ArticleID=3558
注:防止邮件菜单粘贴:οncοntextmenu="javascript:return false;"

<input οnkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"               οnpaste="return !clipboardData.getData('text').match(/\D/)" οndragenter="return false"               style="ime-mode: Disabled" />

说明 1 只能输入0到9和小数点 2 只能粘贴数字 3 不能拖动内容进来 4 禁止使用输入法

-----------------------------------------

<input type="text" name="row1" οnkeypress="return checkNumber(event)" />

<script type="text/javascript">      //只能输入数字      function checkNumber(e)      {          var key = window.event ? e.keyCode : e.which;

         //如果为 退格键 或 小数点 或 右移光标 或 左移光标          if(key == 8 || key == 46 || key == 4 || key == 19)          {              return true;          }                   var keychar = String.fromCharCode(key);          reg = /\d/;          var result = reg.test(keychar);          if(!result)          {              return false;          }          else          {              return true;          }      } </script>

经测试在 IE 和 FireFox 下均有效

*--48--57: 0到9的ascii码 *--13:回车键 *--8:退格键 *--7:删除键 *--4:右移光标 *--19:左移光标 *--45:负号 *--46:小数点

*--44:逗号(半角)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值