<!-- 此功能实现 输入框 --> <!-- 只能输入0~9,以及一个小数点,代表的是一个值--> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <input name="maxSpeed" onkeyup="clearNoNum(event,this)" onafterpaste="clearNoNum(event,this)" > <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> </body> </html>
<!-- 此功能实现 输入框 --> <!-- 只能输入0~9--> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <input onkeypress="number()" onkeyup="filterInput()" onchange="filterInput()" onbeforepaste="filterPaste()" onpaste="return false" style="ime-mode: disabled"> <script language=jscript> function number(){ var char = String.fromCharCode(event.keyCode) var re = /[0-9]/g event.returnValue = char.match(re) != null ? true : false } function filterInput(){ if (event.type.indexOf("key") != -1){ var re = /37|38|39|40/g if (event.keyCode.toString().match(re)) return false } event.srcElement.value = event.srcElement.value.replace(/[^0-9]/g, "") } function filterPaste(){ var oTR = this.document.selection.createRange() var text = window.clipboardData.getData("text") oTR.text = text.replace(/[^0-9]/g, "") } </script> </body> </html>