如何用正则限制文本框只能输入数字,举个例子:
<input type="text" size="12" onpropertychange="this.value=this.value.replace(/[^d.]+?/g,'')" />
修改版:
<input type="text" size="12" onpropertychange="if(!/^d*(.d*)?$/.test(this.value))this.value=this.value.substr(0,this.value.length-1)" onpaste="return false" />
完善:可以输负号,小数点后最多二位:
if(!/^-?d*(.d{0,2})?$/.test(this.value))this.value=this.value.substr(0,this.value.length-1)
onpaste可以不设也有效
注意,在replace之前先test测试下,如果test到了再去replace就不会造成死循环了。
以下是脚本学堂网友sky78提供的文本框只能输入数字的验证方法。
例子,JS限制文本框只能输入数字
<script language=”
javascript”>
function nots(){
if ((event.keyCode <48) || (event.keyCode> 57 )) event.returnValue = false;
}
</script>
<input name=”" type=”text” style=”ime-mode:
disabled” onKeypress=”nots()”/>
说明:
style="ime-mode:disabled"是限制打开中文输入法
nots()将输入文字限制在ASCII:48-57之间,即只限数字。