在开发时,有事页面输入框中要求只能输入数字或者小数,接下来分别介绍一下两种控制方法:
1、只能输入正整数
要求只能输入正整数时,在<input/>标签中加入onkeyup="this.value=this.value.replace(/\D/g,'')"
如:
<tr>
<th><span style="color:#e45c5c;">*</span>年份:</th>
<td>
<input type="text" id="testYear" name="testYear" onkeyup="this.value=this.value.replace(/\D/g,'')" value="${testEntity.testYear}" maxlength="4"/>
</td>
</tr>
2、只能输入整数或者小数(负数也可以)
要求只能输入整数或者小数时,在<input/>标签中加入
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}"