js只能输入数字和带小数点的数字,兼容IE和firefox

 
更多

js验证输入框的内容只能输入数字和带小数点的数字,网上看到的,写法虽然有点奇特,但比较简洁,据作者验证,在各种浏览器下面还是没有问题的!下面将代码分享如下:

第一种方法,只能输入数字,能输带小数点的数字,这个在IE下是没有问题的,但不兼容firefox

<input type="text" name="price" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" />

第二种方法,下面这种方法在IE和Firefox下面均有效:

<input type="text" name="price" onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}" />

第三种方法,这种方法在IE和Firefox下面也都没有问题:

<input type="text" name="price" value="" t_value="" o_value="" 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}" />
打赏

本文固定链接: https://www.cxy163.net/archives/4411 | 绝缘体

该日志由 绝缘体.. 于 2013年05月23日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: js只能输入数字和带小数点的数字,兼容IE和firefox | 绝缘体
关键字: , , , ,

js只能输入数字和带小数点的数字,兼容IE和firefox:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter