javascript学习_只能输入数字的文本框

 最近在看javascript高级程序设计这本书,通过写一些demo帮助加深理解记忆。 此输入数字的文本框在用输入法输入字符的时候还有bug 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <title></title>
 5     <script type="text/javascript">
 6         var EventUtil = {
 7             addHander: function (element, type, hander) {
 8                 if (element.addEventListener) { //DOM2
 9                     element.addEventListener(type, hander, false); //在冒泡阶段调用事件处理程序
10                 } else if (element.attachEvent) { //IE
11                     element.attachEvent("on" + type, hander);
12                 } else {
13                     element["on" + type] = hander;
14                 }
15             },
16             removeHander: function (element, type, hander) {
17                 if (element.removeEventListener) {
18                     element.removeEventListener(type, hander, false);
19                 } else if (element.detachEvent) {
20                     element.detachEvent("on" + type, hander);
21                 } else {
22                     element["on" + type] = null;
23                 }
24             },
25             getEvent: function (event) {
26                 return event ? event : window.event;
27             },
28             getTarget: function (event) {
29                 return event.target || event.srcElement;
30             },
31             preventDefault: function (event) {
32                 if (event.preventDefault) {
33                     event.preventDefault();
34                 } else {
35                     event.returnValue = false;
36                 }
37             },
38             stopPropagation: function (event) {
39                 if (event.stopPropagation) {
40                     event.stopPropagation();
41                 } else {
42                     event.cancelBubble = true;
43                 }
44             },
45             getCharCode: function (event) {
46                 if (typeof event.charCode == "number") {
47                     return event.charCode; //ASCII编码
48                 } else {
49                     return event.keyCode; //IE8及以前 Opera
50                 }
51             },
52             getClipboardText: function (event) {
53                 var clipboardData = (event.clipboardData || window.clipboardData);
54                 return clipboardData.getData("text");
55             },
56             setClipboardText: function (event, value) {
57                 if (event.clipboardData) {
58                     return event.clipboardData.setData("text/plian", value);
59                 } else if (window.clipboardData) { //IE
60                     return window.clipboardData.setData("text", value);
61                 }
62             }
63         };
64
65
66     </script>
67 </head>
68 <body>
69     <input type="text" id="mynum" />
70     <script type="text/javascript">
71         var mynum = document.getElementById("mynum");
72         //键盘输入
73         EventUtil.addHander(mynum, "keypress", function (event) {
74             event = EventUtil.getEvent(event);
75             var charCode = EventUtil.getCharCode(event);
76             if (!/\d/.test(String.fromCharCode(charCode))
77                 && charCode > 8 //不屏蔽向上键,向下键,退格键,删除键;这些键都会触发keypress事件;这些键对应的字符编码小于9
78                 && !event.ctrlKey //不屏蔽ctrl键,能复制,粘贴
79                 )
80             {
81                 EventUtil.preventDefault(event);
82             }
83         });
84         //剪贴板操作
85         EventUtil.addHander(mynum, "paste", function (event) {
86             event = EventUtil.getEvent(event);
87             var text = EventUtil.getClipboardText(event);
88             if (!/^\d*$/.test(text)) {
89                 EventUtil.preventDefault(event);
90             }
91         });
92     </script>
93 </body>
94 </html>
时间: 2024-10-13 22:51:31

javascript学习_只能输入数字的文本框的相关文章

[超牛]只能输入数字的文本框,兼容IE7IE8等

demo地址: 只能输入数字的文本框 核心js代码: /* * 只能输入正整数,不能有小数点 * */ onlyIntegerKeyUp = function (e) { if (e === undefined) { e = window.event; } var obj = e.srcElement ? e.srcElement : e.target; var pattern = /[^\d]/ig; var val = obj.value; if (pattern.test(val)) {

只能输入数字的文本框-php

导读:<inputtype="text"name="textfield"onKeyPress="javascript:alert(event keyCode);returnflase">1 文本框只能输入数字代码(小数点也不能输 <input type="text" name="textfield" onKeyPress="javascript:alert(event.keyCo

java 24 - 6 GUI之 创建只能输入数字的文本框

需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体关闭监听事件 设置显示窗体 代码: 1 public class FrameTest3 { 2 3 public static void main(String[] args) { 4 5 // 创建窗体对象 6 Frame f = new Frame("QQ号码"); 7 f.setBo

javascript设置文本框只能输入数字

javascript设置文本框只能输入数字:在很多实际需要中,需要对输入的内容进行限制,比如有些地方只能够输入数字,例如大家经常使用的QQ号码,这个当然当然是数字了,下面就简单介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.s

replace限制文本框只能输入数字,数字和字母等的正则表达式

1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpas

文本框只能输入数字(兼容IE火狐)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

用Jquery控制文本框只能输入数字和字母

只为成功找方法,不为失败找借口! 用Jquery控制文本框只能输入数字和字母 在公司开发WinForm项目时,发现公司自主研发的textbox控件非常强大,可以实现"只能输入数字"."只能输入字母"和"只能输入数字和字母"的三种输入限制,这样就可以精确控制用户输入的内容范围,让"用户永远没有办法输入限定的内容范围之外的其他内容",也就是"用户即使想犯错误也没有机会",这种限制控件输入的方式给了我很大的启发,

javascript正则表达式控制input只能输入数字

不能输入中文 <input type="text" name="textfield"  onkeyup="this.value=this.value.replace(/[^/da-z_]/ig,'');"/>只能输入 数字和下划线<input onkeypress="return (/[/d_]/.test(String.fromCharCode(event.keyCode)))" style="i

让文本框只能输入数字(兼容IE火狐)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-