我们在网站项目中,有些文本框只需输入数字,比如价钱、个数等。如果可以让文本框只能输入数字,那就杜绝了其他的意外情况。
本文是以net程序为例,介绍如何让.NET程序文本框TextBox只能输入数字。
第一步利用样式表。
<asp:TextBox Runat="server" id="TT" style="ime-mode:disabled" onkeydown="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)) {} else if(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 就是那个把焦点移到下一个文本框的东东
本例尚有两个问题待解决,感兴趣的同学可以完善下。
- 没有验证多个小数点的情况。
- 没有验证多个负号,和符号必须在前的情况。
以上就是net程序禁止输入其他字符只能输入数值的输入框的方法。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/553.html