VUE通用验证方法
main.js
//输入框禁止输入特殊符号
Vue.prototype.validSe = function (value) {
value = value.replace(/[`~*~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '').replace(/\s/g, "");
return value;
};
//只能输数字和英文
Vue.prototype.numberen = function (value) {
value = value.replace(/[^\a-\z\A-\Z0-9]/g, '')
return value
};
//只能输大于0的正整数
Vue.prototype.idOnlyz = function (value) {
if (Number(value) <= 0) {
value = "";
return value;
}
value = value.replace(/[^0-9]/g, '');
return value
};
//只能输正整数
Vue.prototype.idOnly = function (value) {
value = value.replace(/[^0-9]/g, '');
return value
};
//金额书写补0
Vue.prototype.salary0 = function (value) {
if (value < 0) {
value = "";
return value;
}
if (!/\./.test(value)) {
value += ".00";
} //为整数字符串在末尾添加.00
if (/^\./.test(value)) {
//字符以.开头时,在开头添加0
value = "0" + value;
value += "00"; //在字符串末尾补零
value = value.match(/\d+\.\d{2}/)[0];
}
value = Number(value).toFixed(2);
return value;
}
//金额书写
Vue.prototype.salary = function (value) {
value = value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
if (value < 0) {
value = "";
return value;
}
var posDot = value.indexOf("."); //返回指定字符在此字符串中第一次出现处的索引
if (posDot < 0) {
//不包含小数点
if (value.length <= 7) {
return value; //小于7位数直接返回
} else {
// this.value.delete(7, 6);//大于7位数就删掉第8位(只会保留7位)
if (value.length > 7) {
value = value.substring(
0,
7
);
}
return value;
}
}
//走到这有小数点
if (posDot > 7) {
if (value.length > 7) {
value = value.substring(0, 7);
}
return value;
}
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
return value
};
// 清除数字和.和-以外的字符
Vue.prototype.salary1 = function (value) {
value = value.replace(/[^-?\d.]/g, ""); //清除"数字"和"."以外的字符
// if (value < 0) {
// value = "";
// return value;
// }
var posDot = value.indexOf("."); //返回指定字符在此字符串中第一次出现处的索引
if (posDot < 0) {
//不包含小数点
if (value.length <= 7) {
return value; //小于7位数直接返回
} else {
// this.value.delete(7, 6);//大于7位数就删掉第8位(只会保留7位)
if (value.length > 7) {
value = value.substring(
0,
7
);
}
return value;
}
}
//走到这有小数点
if (posDot > 7) {
if (value.length > 7) {
value = value.substring(0, 7);
}
return value;
}
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
return value
};
Vue.prototype.salary2 = function (value) {
// if (value <= 0) {
// value = "";
// return value;
// }
if (!/\./.test(value)) {
value += ".00";
} //为整数字符串在末尾添加.00
if (/^\./.test(value)) {
//字符以.开头时,在开头添加0
value = "0" + value;
value += "00"; //在字符串末尾补零
value = value.match(/\d+\.\d{2}/)[0];
}
value = Number(value).toFixed(2);
return value;
}
页面中
<el-input
:value="send.provident"
@input="e => send.provident= salary(e)"
@change="e =>send.provident = salary0(e)"
placeholder="请输入内容"></el-input>
只能输入数字英文和-
onkeyup="value=value.replace(/[^\w\-]/ig,'')"
只能输入数字汉字英文和-#
οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\-\#]/g,'')"
不能输入空格
οnkeyup="value=value.replace(/\s+/g,'')"
电话验证
maxlength="16"
@input="(e) => (item.tel = item.tel.replace(/[^0-9-]+/, ''))"