1、input输入框只能输入正整数和0
<el-form-item label="设备数量" >
<el-input
v-model="value"
onkeyup="value=(value.replace(/\D/g,'')==''?'':parseInt(value))"
placeholder="请输入设备数量"
/>
</el-form-item>
那你就用 οnkeyup="value=(value.replace(/\D/g,'')==''?'':parseInt(value))"
2、如果是正数负数0,包括小数都可以
<el-input
v-model="value"
onkeyup="value=value.replace(/[^\-?\d.]/g,'')"
placeholder="请输入"
/>
那就用这个οnkeyup="value=value.replace(/[^\-?\d.]/g,'')",不能输入汉字和字母
3、不能输入中文,可以输入正数、负数、小数和字母
<el-input
v-model="value"
placeholder="请输入"
onkeyup="value=value.replace(/[\u4E00-\u9FA5]/g,'')"
/>
οnkeyup="value=value.replace(/[\u4E00-\u9FA5]/g,'')"
4、对经纬度的限制
网页部分
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
<el-input
v-model="form.longitude"
placeholder="请输入经度"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="latitude">
<el-input
v-model="form.latitude"
placeholder="请输入纬度"
/>
</el-form-item>
</el-col>
rule部分
longitude: [{ validator: checkLong, trigger: "change" }],
latitude: [{ validator: checkLat, trigger: "change" }],
验证部分
data() {
//经度
var checkLong = (rule, value, callback) => {
// const longrg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
const longrg =
/^[-+]?(((0|1?[0-7]?[0-9]?)|([1-9]?[0-9]?))(([.][0-9]{1,15})?)|180(([.][0]{1,15})?))$/;
if (value && !longrg.test(value)) {
callback(new Error("经度整数部分为0-180,小数部分为0到15位!"));
}
callback();
};
//纬度
var checkLat = (rule, value, callback) => {
// const latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;
const latreg = /^[-+]?([1-8]?\d(\.\d{1,15})?|90(\.0{1,15})?)$/;
if (value && !latreg.test(value)) {
callback(new Error("纬度整数部分为0-90,小数部分为0到15位!"));
}
callback();
};
return {}
5、大于0的数,不可以汉字和字母
/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/
rules:{ adjustingValveOpening: [
{
validator: (rule, value, callback) => {
if (/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/.test(value)) {
callback();
}else if (value == null || value == "") {
callback();
} else {
callback(new Error("请输入正数"));
}
},
trigger: "blur",
},
],
}
我这个不是必填,可以为空就中间加了个判断;