el-input input 输入框 限制只输入数字和小数
作者:互联网
只输入数字和小数点
VUE 版本:
<input @input="onlyNumber"></input>
data(){
return {
value:''
}
}
onlyNumber() {
let value = this.value
//得到第⼀个字符是否为负号
var t = value.charAt(0)
//先把⾮数字的都替换掉,除了数字和.
value= value.replace(/[^\d\.]/g, '')
//必须保证第⼀个为数字⽽不是.
value= value.replace(/^\./g, '')
//保证只有出现⼀个.⽽没有多个.
value= value.replace(/\.{2,}/g, '.')
//保证.只出现⼀次,⽽不能出现两次以上
value = value
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
//如果第⼀位是负号,则允许添加
if (t == '-') {
value = '-' + value
}
this.value= value
}
html + 原生js版本
<input oninput="onlyNumber(this)"></input>
function onlyNumber(obj){
//得到第⼀个字符是否为负号
var t = obj.value.charAt(0);
//先把⾮数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d\.]/g,'');
//必须保证第⼀个为数字⽽不是.
obj.value = obj.value.replace(/^\./g,'');
//保证只有出现⼀个.⽽没有多个.
obj.value = obj.value.replace(/\.{2,}/g,'.');
//保证.只出现⼀次,⽽不能出现两次以上
obj.value = obj.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.');
//如果第⼀位是负号,则允许添加
if(t == '-'){
obj.value = '-'+obj.value;
}
}
标签:el,obj,数字,负号,value,replace,输入框,保证,input 来源: https://www.cnblogs.com/kebaoye/p/16260999.html