1、整数: 负整数、0、正整数; 非负整数: 正整数与0
<a-col :md="12" :sm="24" class="ex-item">
<a-form-item label="闸顶高程(单位m,保留三位小数点)">
<a-input
v-decorator="[
'topElevation',
{
rules: [
{ required: true, message: '请输入闸顶高程' },
],
},
]"
placeholder="请输入闸顶高程"
:maxLength="9"
@input="getTopElevation"
/>
</a-form-item>
</a-col>
getTopElevation(obj) {
this.form.setFieldsValue({
topElevation: this.getMinus(obj),
});
this.form.setFieldsValue({
gateStandardHigh: (parseFloat(this.form.getFieldValue('topElevation')) * 1000 - parseFloat(this.form.getFieldValue('cleanHigh')) * 1000) / 1000
});
},
// 不限制多少位小数
getLimit(obj) {
obj.target.value = obj.target.value.replace(/[^\d.]/g, "");
obj.target.value = obj.target.value.replace(/^\./g, "");
obj.target.value = obj.target.value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
obj.target.value = obj.target.value.replace(
/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/,
"$1$2.$3"
);
return obj.target.value;
},
getCleanHigh(obj) {
this.form.setFieldsValue({
cleanHigh: this.getDecimal(obj),
});
this.form.setFieldsValue({
gateStandardHigh: (parseFloat(this.form.getFieldValue('topElevation')) * 1000 - parseFloat(this.form.getFieldValue('cleanHigh')) * 1000) / 1000
});
},
// 允许输入整数(正整数、0、负整数)并且可保留三位小数的统一方法
getMinus(obj) {
obj.target.value = obj.target.value.replace(/[^\d.-]/g, "");
obj.target.value = obj.target.value.replace(/^\./g, "");
obj.target.value = obj.target.value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", "."); // 只能输入一个小数点
obj.target.value = obj.target.value
.replace("-", "$#$")
.replace(/\-/g, "")
.replace("$#$", "-"); // 只能输入一个负号
obj.target.value = obj.target.value.replace(
/^(\-)*(\d+)\.(\d\d\d).*$/,
"$1$2.$3"
);
// 含有"-"并且不在第一位,如:22-22
if((obj.target.value.indexOf('-') != -1) && (obj.target.value.indexOf('-') != 0)) {
this.$message.error('输入有误,请重新输入!');
return "";
} else if ((obj.target.value.indexOf('-') != -1) && (obj.target.value.indexOf('.') == 1)) {
// 含有"-"并且"."在"-"之后,如:-.2323
this.$message.error('输入有误,请重新输入!')
return "";
} else {
return obj.target.value;
}
},
2、只能输入数字
obj.target.value = obj.target.value.replace(/[^\d]/g,"");
3、只能输入数字和小数点
obj.target.value = obj.target.value.replace(/[^\d.]/g,"");
4、允许输入整数
obj.target.value = obj.target.value.replace(/[^\d.-]/g,"");
5、限制小数位
// 只能输入两位小数
obj.target.value = obj.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
// 保留三位(保留多少位就加多少个\d)
obj.target.value = obj.target.value.replace(/^(\-)*(\d+)\.(\d\d\d).*$/,'$1$2.$3');
6、允许输入整数,不允许输入小数点儿
// 允许输入整数(正整数、0、负整数)
getMinus(obj) {
obj.target.value = obj.target.value.replace(/[^\d-]/g, "");
obj.target.value = obj.target.value
.replace("-", "$#$")
.replace(/\-/g, "")
.replace("$#$", "-");
// 含有"-"并且不在第一位,如:22-22
if((obj.target.value.indexOf('-') != -1) && (obj.target.value.indexOf('-') != 0)) {
this.$message.error('输入有误,请重新输入!');
return "0";
} else {
return obj.target.value
}
},
7、不允许输入中文
noChinese(obj) {
return obj.target.value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/g, '');
},
别问我住哪儿,我只想住在你的心里。