关于文本框设置值的问题,求帮忙。 需求是,一个文本框,只能输入数字和小数点,但是小数点后输入了两个数字后就不能再在后面输入了,但是还是可以对前面的数字进行改动。比如说,我输入了1982.23,就不能在3后面输入数字了,但是可以在1982这几个数字间任意加减数字。小数点后始终只保持两位数字。求教怎么实现,在线等。先谢谢各位了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充下,不是简单的正则验证,是注册到keyup上,小数点后已经有两位数字了,如果再继续在后面输入,文本框直接显示原来的值保持不变. 可以在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> jquery 支持安卓等手机web开发bu ? JS自定义打开窗口或文件 的标题 如何捕获IFrame中的鼠标数据【高分,不够再加】 关于一个jq 的指定索引插入的问题 XML样式问题 几种常用禁止修改输入框的方法 用JS,如何提取网页<title>与</title>之间的内容? 一个关于insertRow()的小问题请有心着来接分! ==ie6下的问题== 一个入门级的问题求教! 纯js的图片切换,带效果 关于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>