vue input只能输入数字小数点 自动补全浮点数
输入框只能输入1.00或者1.10或者11.0输入1离开输入框变为1.00输入1.1离开输入框变为1.00输入11离开输入框变11.0对111三位数和1111四位数不做判断<el-inputv-model="items.rate"maxlength="4"...
·
输入框只能输入1.00或者1.10或者11.0
输入1离开输入框变为1.00
输入1.1离开输入框变为1.00
输入11离开输入框变11.0
对111三位数和1111四位数不做判断
<el-input
v-model="items.rate"
maxlength="4"
onkeyup="value=value.replace(/[^\d^\.]+/g,'')"
v-on:input="clearNoNum(items.rate,index,indexs)"
@blur.native.capture="clearnumber(items.rate,index,indexs)"
placeholder="支持支付宝/微信支付"
></el-input>
项目中是双层数组对象循环出来的列表input
//处理按钮输入的时候 是正整数的字符串
clearNoNum(value, index, indexs) {
if (value) {
let value1 = parseFloat(value);
value = value1 == 0 ? "" : value;
let i = value.indexOf(".");
value = i == 0 ? "" : value;
if (value.indexOf(".") > 0) {
value = value.replace(/\.{2,}/g, ".");
let arr = value.split(".");
value = arr.length == 3 ? value.substr(0, value.length - 1) : value;
}
}
this.list[index].child[indexs].rate = value;
},
//离开输入框后增加小数点
clearnumber(value, index, indexs) {
if (value) {
value = value.length == 1 ? value + ".00" : value;
value =
value.length == 2 && value.indexOf(".") < 0 ? value + ".0" : value;
value =
value.length == 3 && value.indexOf(".") > 0 ? value + "0" : value;
}
this.list[index].child[indexs].rate = value;
},
其他
只允许输入数字(整数:小数点不能输入)
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" @blur="xxx = $event.target.value" >
允许输入小数(两位小数)
<input type="text" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @blur="xxx = $event.target.value" >
允许输入小数(一位小数)
<input type="text" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,1})?).*$/g, '$1')" @blur="xxx = $event.target.value" >
开头不能为0,且不能输入小数
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'').replace(/^0{1,}/g,'')" @blur="xxx = $event.target.value" >
只能输入英文和数字
<input maxlength="16" oninput="value=value.replace(/[^0-9A-Za-z]/g,'')" @blur="xxx = $event.target.value" >
更多推荐
已为社区贡献4条内容
所有评论(0)