js 只能输入数字和小数点的文本框改进版

 1 <html> 
 2 <head> 
 3 <meta http-equiv="content-Type" content="text/html;charset=gb2312"> 
 4 <title>js 只能输入数字和小数点</title> 
 5 <script language="JavaScript" type="text/javascript"> 
 6 //by ahuinan 2009-4-10 
 7     function clearNoNum(event,obj){ 
 8         //响应鼠标事件,允许左右方向键移动 
 9         event = window.event||event; 
10         if(event.keyCode == 37 | event.keyCode == 39){ 
11             return; 
12         } 
13         //先把非数字的都替换掉,除了数字和. 
14         obj.value = obj.value.replace(/[^\d.]/g,""); 
15         //必须保证第一个为数字而不是. 
16         obj.value = obj.value.replace(/^\./g,""); 
17         //保证只有出现一个.而没有多个. 
18         obj.value = obj.value.replace(/\.{2,}/g,"."); 
19         //保证.只出现一次,而不能出现两次以上 
20         obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
21     } 
22     function checkNum(obj){ 
23         //为了去除最后一个. 
24         obj.value = obj.value.replace(/\.$/g,""); 
25     } 
26     </script> 
27 </head> 
28 <body> 
29 <!--把下面代码加到<body>与</body>之间--> 
30 只能输入数字和小数点的文本框:<input id="input1" onKeyUp="clearNoNum(event,this)" onBlur="checkNum(this)"> 
31 <a href="http://www.jb51.net">脚本之家</a> 
32 </body> 
33 </html> 

 

posted @ 2016-01-26 15:26  skyhap  阅读(195)  评论(0编辑  收藏  举报