常用正则,方便vue项目复制使用(rule.js)
function checkPhone(rule, value, cb) {
// 验证手机号及固定电话的正则表达式
const regPhone = /^((0\d{2,3}-\d{6,8})|(1[23456789]\d{9}))$/;
if (regPhone.test(value)) {
return cb();
}
cb(new Error("请输入合法的手机或固定电话"));
}
function checkMobile(rule, value, cb) {
// 验证手机号的正则表达式
const regMobile = /^1[345789]\d{9}$/;
if (regMobile.test(value)) {
return cb();
}
cb(new Error("请输入合法的手机号"));
}
function checkIdcard(rule, value, cb) {
// 验证身份证号的正则表达式
const regIdcard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (regIdcard.test(value)) {
return cb();
}
cb(new Error("请输入合法的身份证号"));
};
function checkPrice(rule, value, cb) {
// 验证两位小数(价格)的正则表达式
const regIdcard = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/;
if (regIdcard.test(value)) {
return cb();
}
cb(new Error("请输入合法的价格"));
};
function checkName(rule, value, cb) {
// 验证中英文的正则表达式
const regIdcard = /^([\u4e00-\u9fa5]|[a-zA-Z]| |•|-|‧|•|⋅|ㆍ|・|●|(\(+\))|(\([\u4e00-\u9fa5]+\))|(\([a-zA-Z]+\)))+$/;
if (regIdcard.test(value)) {
return cb();
}
cb(new Error("请输入合法格式的姓名"));
};
const rules = {
// 必填
required(message) {
return {
required: true,
trigger: 'blur',
message: message
};
},
// 验证手机号
checkMobile() {
return {
validator: checkMobile,
trigger: "blur",
message: '请输入正确的手机号'
}
},
// 验证手机固定电话号
checkPhone() {
return {
validator: checkPhone,
trigger: "blur",
message: '请输入正确的手机或固定电话号'
}
},
// 验证身份证
checkIdcard() {
return {
validator: checkIdcard,
trigger: "blur",
message: '请输入正确的身份证号'
}
},
// 验证姓名
checkName() {
return {
validator: checkName,
trigger: "blur",
message: '请输入正确格式的姓名'
}
},
// 验证价格
checkPrice() {
return {
validator: checkPrice,
trigger: "blur",
message: '请输入正确格式的价格'
}
},
onlyNumber() {
return {
type: "number",
message: "必须为数字值"
}
}
}
export default rules;