1. 只能输入小数点后两位的数字:
<el-input
v-model.trim="form.amount"
@input="
() => {
form.amount = onlySixDecimalPlace(form.amount);
}
"
></el-input>
// 仅限两位小数
export function onlyTwoDecimalPlace(value) {
value = value.replace(/[^\d.]/g, ''); //清除“数字”和“.”以外的字符
value = value.replace(/\.{2,}/g, '.'); //只保留第一个. 清除多余的
value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (value.indexOf('.') < 0 && value !== '') {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的数字
value = parseFloat(value);
}
return value;
}
2.手机号邮箱等校验:
/* 是否手机号码*/
export function validatePhone(rule, value, callback) {
const reg = /^[1][0-9][0-9]{9}$/;
if (value === '' || value === undefined || value === null) {
callback();
} else {
if (!reg.test(value) && value !== '') {
callback(new Error('请输入正确的手机号码'));
} else {
callback();
}
}
}
/* 合法手机号格式 */
export function isvalidTelNumber(tel_number) {
const valid_tel = /^((1[3,5,8][0-9])|(14[5,7-9])|(16[6])|(17[0-3,5-8])|(19[8-9]))\d{8}$/;
return valid_tel.test(tel_number);
}
/* 合法手机号和电话格式 校验发票号码 */
export function isvalidTelInvoice(tel_number) {
const valid_tel = /^(((1[3,5,8][0-9])|(14[5,7-9])|(16[6])|(17[0-3,5-8])|(19[8-9]))\d{8}$|((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})))$/;
return valid_tel.test(tel_number);
}
/* 合法手机号格式 校验前两个号段 */
export function isvalidTelNum(tel_number) {
const valid_tel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
return valid_tel.test(tel_number);
}
/* 是否邮箱*/
export function validateEmail(rule, value, callback) {
const reg =
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (value === '' || value === undefined || value === null) {
callback();
} else {
if (!reg.test(value) && value !== '') {
callback(new Error('请输入正确的邮箱'));
} else {
callback();
}
}
}
// 验证密码
export const validatePwd = (rule, value, callback) => {
const reg = /^[A-Za-z0-9]{8,16}$/;
if (!reg.test(value)) {
callback(new Error('密码为8-16位字母、数字或组合'));
} else {
callback();
}
};
/* 信用代码 */
export function isvalidUscc(tel_usc) {
const valid_usc = /[0-9A-Z]{2}\d{6}[0-9A-Z]{10}$/;
return valid_usc.test(tel_usc);
}
/* 密码格式 */
export function isvalidPassword(passwr) {
const valid_password = /^[A-Za-z0-9]+$/; ///^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$/;
return valid_password.test(passwr);
}
/* 正数带多位小数 */
export function isValidTransAmount(number) {
const valid_number = /^[1-9]+\d*(\.\d{0,20})?$|^0?\.\d{0,20}$/;
return valid_number.test(number);
}
/* 正实数 */
export function isValidPositiveNum(number) {
const valid_positive_num = /^[0-9]*[1-9][0-9]*$/;
return valid_positive_num.test(number);
}
/* 注册资本 (只支持数字字符,长度不限制)*/
export function isValidRegisterAmount(number) {
const valid_positive_num = /^[1-9]\d*(\.\d+)?$|^0\.\d*[1-9]$/g;
// const valid_positive_num = /^(\d{1,9}.)?\d{1,30}$/;
return valid_positive_num.test(number);
}
/* 邮政编码 (6位数字)*/
export function isValidPostCode(number) {
const valid_positive_num = /^[0-9]{6}$/;
return valid_positive_num.test(number);
}
/* 电话 (只支持数字和'-"字符,长度不限制)*/
export function isValidPhoneNum(number) {
const valid_positive_num = /^(\d{1,9}-)?\d{1,20}$/;
return valid_positive_num.test(number);
}
/* 传真 (只支持数字和'-"字符,长度不限制)*/
export function isValidFaxNum(number) {
const valid_positive_num = /^(\d{1,9}-)?\d{1,20}$/;
return valid_positive_num.test(number);
}
/* 邮箱 */
export function isValidEmail(number) {
const valid_positive_num = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
return valid_positive_num.test(number);
}
/* 密码 */
export function isvalidPasswordS(passwr) {
const valid_password = /^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$/;
return valid_password.test(passwr);
}
/*特殊字符校验*/
export function specialCharCheck(name) {
let pattern = new RegExp(
"[`~!@#$^&*()=|{}':;,\\[\\]<>/?!¥…()【】‘;:”“。,、?]"
);
console.log(name);
if (pattern.test(name)) {
return true;
} else {
return false;
}
}
304

被折叠的 条评论
为什么被折叠?



