控制页面上的文本框只能输入数字

把如下代码加入<body>区域中
<script>
//verify for netscape/mozilla
var isNS4 = (navigator.appName=="Netscape")?1:0;
</script>

此输入框只接受数字:<br>
<input type=text name=txtPostalCode onKeypress="if(!isNS4){if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;}else{if(event.which < 45 || event.which > 57) returnfalse;}">

此输入框不接受如下字符: (!@#$%^&* etc)<br>
<textarea rows=2 cols=20 name=comments onKeypress="if(!isNS4){if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;}else{if ((event.which > 32 && event.which < 48) || (event.which > 57 && event.which < 65) || (event.which > 90 && event.which < 97)) return false;}"></textarea>

 

//输入整数
onkeyup="this.value=this.value.replace(/\D/g,'');"

onafterpaste="this.value=this.value.replace(/\D/g,'')"      //这个事件测试后(IE8)好像没用

onmouseout="this.value=this.value.replace(/\D/g,'')"

输入小数
onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value;" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}"

 

posted on 2005-10-10 11:29  冷月孤峰  阅读(477)  评论(0)    收藏  举报