data() {
let validateInput = (rule, value, callback) => {
if (!this.checkSpecialKey(value)) {
callback(new Error("不能含有特殊字符!!"));
} else {
callback();
}
};
let validateNumber = (rule, value, callback) => {
let regular = /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/
if (regular.test(value)) {
callback();
} else {
callback(new Error("请输入大于等于0的数字值"));
}
};
let validateInput = (rule, value, callback) => {
let regular = /^[+]{0,1}(\d+)$/
if (!this.checkSpecialKey(value)) {
callback();
} else {
callback(new Error("请输入大于等于0的正整数"));
}
};
let validatePoint = (rule, value, callback) => {
let regular = /^(\d+.?)?\d{0,2}$/
if (!this.checkSpecialKey(value)) {
callback();
} else {
callback(new Error("请输入数字且小数点后最多保留两位"));
}
};
return {
form: {
inputText: ""
},
rules: {
inputText: [
{ validator: validateInput, trigger: 'blur' }
]
}
}
}
methods: {
checkSpecialKey(str) {
var specialKey = "[`~!#$^&*()=|{}':;'\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘'";
for (var i = 0; i < str.length; i++) {
if (specialKey.indexOf(str.substr(i, 1)) != -1) {
return false;
}
}
return true;
}
}