checkText(scope, item) { if (item.fieldname === 'strproducenum') { if ( /^[\u4e00-\u9fa5]+$/g.test(scope.row[item.fieldname]) || /\s/.test(scope.row[item.fieldname]) || /^(?:[!@#$%^&()+=<>,.?/:";',。、?》《:“”‘’;!@#¥%……&()+=`~·]+)$/g.test(scope.row[item.fieldname]) ) { this.$message.error('禁止输入空格,纯汉字以及纯符号!') scope.row[item.fieldname] = '' return false } const arr = '01234567890,111,222,333,444,555,666,777,888,999,000' if ( arr.includes(scope.row[item.fieldname]) || /([0-9])\1{1,}$/.test(scope.row[item.fieldname]) || (scope.row[item.fieldname].length === 1 && typeof Number(scope.row[item.fieldname]) === 'number') ) { this.$message.error('禁止输入单数字或连续数字!') scope.row[item.fieldname] = '' return false } } checkQuantity(val, scope, item) { if (item.fieldname === 'dblquantity' || item.fieldname === 'dblprice') { if (!scope.row.lngitemid) { this.$message.error('请选择物品!') scope.row[item.fieldname] = '' return false } if (!/^[+-]?\d*(\.\d*)?(e[+-]?\d+)?$/.test(scope.row[item.fieldname])) { this.$message.error('必须为数字!') scope.row[item.fieldname] = '' scope.row.totalprice = '' return false } if (item.fieldname === 'dblquantity') { if (!/^(\d|[1-9]\d+)(\.\d+)?$/.test(scope.row[item.fieldname])) { this.$message.error('只能输入正数!') scope.row.dblquantity = '' scope.row.totalprice = '' return false } if ( !/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/.test( scope.row.dblquantity * 1 ) ) { this.$message.error('输入最多12位整数2位小数!') scope.row.dblquantity = '' scope.row.totalprice = '' return false } } else if (item.fieldname === 'dblprice') { if (!/^(\d|[1-9]\d+)(\.\d+)?$/.test(scope.row[item.fieldname])) { this.$message.error('只能输入正数!') scope.row.dblprice = '' scope.row.totalprice = '' return false } if ( !/^(0\.(?!0+$)\d{1,4}|^[1-9][0-9]{0,11}(\.\d{0,4})?)$/.test( scope.row.dblprice * 1 ) ) { this.$message.error('输入最多12位整数4位小数!') scope.row.dblprice = '' scope.row.totalprice = '' return false } } } rules: { stritem: [{ required: true, message: '必填字段', trigger: 'blur' }], dblquantity: [ { required: true, message: '必填字段', trigger: 'blur' }, { pattern: '^[1-9]\\d{0,11}(\\.\\d{1,2})?$|^0(\\.\\d{1,2})?$', message: '整数最多12位小数2位', trigger: 'blur', transform: (value) => String(value) } ], dblprice: [ { required: true, message: '必填字段', trigger: 'blur' }, { pattern: '^[1-9]\\d{0,11}(\\.\\d{1,4})?$|^0(\\.\\d{1,4})?$', message: '整数最多12位小数4位', trigger: 'blur', transform: (value) => String(value) } ] },
标签:数字,纯文字,校验,item,fieldname,test,scope,message,row From: https://www.cnblogs.com/hellofangfang/p/18258227