<!-- 此功能实现 输入框 -->
<!-- 只能输入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>