
只允许数字:
<input 
onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
>只允许数字和小数点(IE 兼容,但火狐不兼容):
<input
onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"
>
火狐下js设计:
<script language="JavaScript" type="text/javascript">
	      function clearNoNum(event,obj){ 
	        //响应鼠标事件,允许左右方向键移动 
	        event = window.event||event; 
	        if(event.keyCode == 37 | event.keyCode == 39){ 
	            return; 
	        } 
	        //先把非数字的都替换掉,除了数字和. 
	        obj.value = obj.value.replace(/[^\d.]/g,""); 
	        //必须保证第一个为数字而不是. 
	        obj.value = obj.value.replace(/^\./g,""); 
	        //保证只有出现一个.而没有多个. 
	        obj.value = obj.value.replace(/\.{2,}/g,"."); 
	        //保证.只出现一次,而不能出现两次以上 
	        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
	      } 
    </script><input name="maxSpeed" 
       onkeyup="clearNoNum(event,this)" onafterpaste="clearNoNum(event,this)"
>