那你就用 οnkeyup="value=(value.replace(/\D/g,'')==''?'':parseInt(value))"
那就用这个οnkeyup="value=value.replace(/[^\-?\d.]/g,'')",不能输入汉字和字母
οnkeyup="value=value.replace(/[\u4E00-\u9FA5]/g,'')"
网页部分
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 {}
/^(?!(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", }, ], }
我这个不是必填,可以为空就中间加了个判断;