在网页里让文本框只能输入数字的一种方法。外加回车换Tab (javascript key键的使用)+禁止切换输入法

第一步利用样式表。
<asp:TextBox ID="TextBox1" runat="server" style="ime-mode:disabled" onkeydown="myKeyDown()"></asp:TextBox>

第二步利用js脚本。

    <script type="text/javascript">
        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;
         }
        }
    </script>

利用样式表(style="ime-mode:disabled" )可以防止切换成汉字输入法,也就是说只能使用英文输入法,这样就防止了输入汉字的情况。

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

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

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

对了还有两个缺点:
1、没有验证多个小数点的情况。
2、没有验证多个负号,和符号必须在前的情况。

posted @ 2008-08-06 12:42  古道轻风  阅读(1349)  评论(0编辑  收藏  举报