日期:2014-05-16  浏览次数:20323 次

关于文本框设置值的问题,求帮忙。
需求是,一个文本框,只能输入数字和小数点,但是小数点后输入了两个数字后就不能再在后面输入了,但是还是可以对前面的数字进行改动。比如说,我输入了1982.23,就不能在3后面输入数字了,但是可以在1982这几个数字间任意加减数字。小数点后始终只保持两位数字。求教怎么实现,在线等。先谢谢各位了。

------解决方案--------------------
可以在keyup事件里,每次计算小数点后有几位数字,如果超过2个的话,就把在js里 把这个
e.Handled = true ,让它输了也没有用
------解决方案--------------------

<input type="text" id="text" />
<script type="text/javascript">
document.getElementById("text").onkeyup=function(){
if(!/^\d*\.?\d{0,2}$/.test(this.value))
this.value = this.value.replace(/[^\d\.]/g,"").replace(/^(\d*\.?\d{0,2}).*/g,"$1");
}
</script>