正则限制文本框中只能输入数字和小数点

发布时间:2019-12-04编辑:脚本学堂
本文介绍了用正则表达式限制文本框中只能输入数字和小数点的方法,需要的朋友参考下。

如何用正则限制文本框只能输入数字,举个例子:
 

<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之间,即只限数字。