input限制只能输入数字和小数

        小数.和-只能输入一次

第一种方法用到了jquery绑定事件

  $('input').keypress(function(){
            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
        });
        $('input').keyup(function(){
            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

        });
        $('input').blur(function(){
            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
            }
        });

 

或者

<input type=text 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}">

posted on 2014-05-07 14:27  郑峰  阅读(414)  评论(0编辑  收藏  举报

导航