在有些场合下需要控制TextBox的输入内容只能是数字,这可以通过添加TextBox的键盘事件(onkeyup、onkeypress、onkeydown等)来实现。

首先说一下键盘事件的触发顺序:onkeydwon-------->onkeypress(事件触发后字符显示到TextBox)------>onkeyup。

解释:然后触发keypress事件,如果一直按着键盘则keydown事件和keypress事件持续交替触发;

keydown:按下键盘是触发keydown事件,如果一直按着则持续触发;

keypress:keydown事件触发后接着触发keypress事件,如果一直按着键盘则keydown事件和keypress事件持续交替触发;

keyup:松开键盘后触发keyup事件;

comment:取消keydown事件并不会影响keypress事件的触发,也就是说不会阻止字符显示到TextBox中。因此要阻止字符出现在TextBox中必须使用keypress事件。

方法1. <asp:TextBox ID="TextBox1" runat="server" οnkeyup='this.value=this.value.replace(/^[^1-9]\D*$/,"")'></asp:TextBox>

这种方法虽然可以控制数字输入,但是当TextBox中存在字符时,无法将光标移动到字符的任意位置,且在输入非数字字符时字符会在TextBox中短暂显示。

方法2. <asp:TextBox ID="TextBox1" runat="server" οnkeyup="if (isNaN(value)) execCommand('undo')"></asp:TextBox>

使用这种方法时,当输入的字符为非数字字符时,字符会在TextBox中短暂显示。

方法3. <asp:TextBox ID="TextBox1" runat="server" οnkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"></asp:TextBox>

推荐这种方法,可以避免前两种方法的弊端。

控制TextBox只能输入数字相关推荐

  1. Asp.net控制TextBox只能输入数字

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...

  2. C#控制textbox只能输入数字

    private void textBox3_KeyPress(object sender, KeyPressEventArgs e){if (e.KeyChar == 0x20) e.KeyChar ...

  3. winform控制textbox只能输入数字(小数)

    private void txtWgt_KeyPress(object sender, KeyPressEventArgs e){if (((int)e.KeyChar < 48 || (int ...

  4. TextBox只能输入数字

    Asp.net TextBox只能输入数字 <asp:textbox id="TextBox1" οnkeyup="if(isNaN(value))execComm ...

  5. Asp.net TextBox只能输入数字

    <asp:textbox id="TextBox1" οnkeyup="if(isNaN(value))execCommand('undo')" runa ...

  6. textbox 只能输入数字

    <asp:textbox id="TextBox1" οnkeyup="if(isNaN(value))execCommand('undo')" runa ...

  7. Asp.net 设置TextBox只能输入数字

    <asp:textbox id="TextBox1" οnkeyup="if(isNaN(value))execCommand('undo')" runa ...

  8. WPF TextBox只能输入数字

    关于WPF TextBox只能输入数字并不是一个很难的功能,网上许多的实现方式都是通过将String类型转换为Int32类型来进行判断的,自从对了Clr Via C#这本书以后就对拆装箱操作产生了恐惧 ...

  9. 限制文本框(TextBox)只能输入数字(VB6代码)

    在一些要求只允许输入数值的场合,就用得上了. 基本思路是,先在文本框的keyPress事件里过滤键盘输入,再使用子类化将粘贴剪切等剪贴板操作吃掉. 窗体frmMain.frm内代码(窗体包含一个文本框 ...

最新文章

  1. 查看自己生日是否在pi中
  2. pyqt5实战之自定义弹窗口
  3. ApplicationIdle
  4. 个人项目耗时对比记录表
  5. 机器学习系统设计与建议
  6. java runnable线程锁_多线程 java 同步 、锁 、 synchronized 、 Thread 、 Runnable
  7. 【实践】阿里妈妈流量反作弊算法实践
  8. not in与NOT EXISTS亲历的差别体验
  9. Atitit atimvc rest原理与自定义实现t33 目录 1.1. Web.xml 1 1.2. MvcFilter 2 1.3. jerserMeth 4 原理 过滤器 过滤即可
  10. 让Linux下的打印机hp1020、hp p1008自动加载固件
  11. 反编译exe文件并替换图片资源
  12. 双线性映射:零知识证明的引擎
  13. 计算机相关英语词汇ppt,计算机专业英语词汇新.ppt
  14. XPS格式文件如何编辑?
  15. @AutoConfigureAfter注解
  16. 如何使用Arduino和R305制作指纹考勤系统
  17. 我写了款依赖检查的插件
  18. 力扣707设计链表(单链表,JavaScript)
  19. oracle执行存储过程参数,Oracle定时任务执行存储过程带参数
  20. python古典问题兔子问题_古典兔子问题

热门文章

  1. 什么是Node.js?(转)
  2. 苹果手机不实用?那你是没用过这4个功能,快捷又方便
  3. Wi-Fi 6E:Wi-Fi的下一个伟大篇章
  4. Vue之scoped限制优劣
  5. 关于最新劳动法的一些解读 1
  6. Matplotlib 线型,线色,图形标注(详细教程)
  7. dllhost.exe
  8. python学习指南—Python 进阶(Python Cookbook)
  9. Pandas的Series统计函数(7)
  10. WWW2021: AutoSTG面向时空图预测的神经网络结构搜索(附论文链接)