input文本框输入限制数字和小数位数
发布时间:2020-12-14 04:27:26 所属栏目:百科 来源:网络整理
导读:曾经为了倒腾一个input的输入限制而东逛西逛,终于在不经意间,自己发现了这个限制的规律。这让我有种如获重生的感觉。 废话没有,贴代码最要紧: onkeyup="value=value.replace(/[^d]+./g,'');this.value=/^d+.?d{0,1}$/.test(this.value) ? this.valu
曾经为了倒腾一个input的输入限制而东逛西逛,终于在不经意间,自己发现了这个限制的规律。这让我有种如获重生的感觉。 废话没有,贴代码最要紧: onkeyup="value=value.replace(/[^d]+./g,''); this.value=/^d+.?d{0,1}$/.test(this.value) ? this.value : this.value.split('.')[1].length==1? this.value:this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1].substr(0,1);" 为了方便以后查找方便,我把一行代码分成了四行,这样看起来也没有那么费劲。 首先利用onkeyup事件(松开键盘按键触发的事件),用正则表达式来控制输入的字符。 /[^d]+./g上面的正则表达式表示的是除了数字和.(点)以外,其他的字符都替换为空的 /^d+.?d{0,1}$/上面的正则表达式表示的是输入小数,控制小数点后一位显示 this.value=/^d+.?d{0,1}$/.test(this.value) ? this.value : this.value.split('.')[1].length==1? this.value:this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1].substr(0,1) 判断小数点后的位数是不是等于1,如果等于1显示,如果不等于1那么久舍弃小数点后第二位的数字 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |