前言
平时开发经常需要用到的正则校验在之前也经常在网上按需求查找。现在想将一些常用的正则纪录下来,实际上在chat ai被人们熟练使用后开发时需要正则公式就太方便了,可以直接按需求生成,所以感觉这个记录用处不大
正则方法
校验数字 正整数
export const checkNumber = (rule, value, callback) => {
const reg = /^[1-9]+\d*$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入大于0的整数字"));
}
};
校验输入不能为空
export const checkEmpty = (rule, value, callback) => {
if (!value.trim()) {
callback(new Error("输入不能为空"));
} else {
callback();
}
};
校验 不包含汉字
export const checkEnglish = (rule, value, callback) => {
const reg = /^[^\u4e00-\u9fa5]+$/;
if (reg.test(value.trim())) {
callback();
} else {
return callback(new Error("请输入英文"));
}
};
校验 不包含字母
export const checkChinese = (rule, value, callback) => {
const reg = /^[^a-zA-Z]+$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入中文"));
}
};
校验 密码(可为空)
export const checkPasswordOrNull = (rule, value, callback) => {
const reg = /^\w{6,12}$/;
if (value) {
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入字母数字组合,长度6-12位"));
}
} else {
callback();
}
};
校验 密码
export const checkPassword = (rule, value, callback) => {
const reg = /^\w{6,12}$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入字母数字组合,长度6-12位"));
}
};
只能输入中文/[^\u4E00-\u9FA5]/g
export const checkChineseInput = (rule, value, callback) => {
const reg = /^[\u4E00-\u9FA5()()]{1,30}$/;
if (reg.test(value.trim())) {
callback();
} else {
return callback(new Error("只能输入中文"));
}
};
只能输入数字,可输入01,最少要有1位数字
export const regNumber = (rule, value, callback) => {
const reg = /^\d{1,}$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入数字"));
}
};
只能输入数字和字母下划线
export const checkNumLetter_ = (rule, value, callback) => {
const reg = /^[a-zA-Z0-9_]{1,}$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("只能输入数字字母或下划线"));
}
};
只能输入数字和字母
export const checkNumLetter = (rule, value, callback) => {
const reg = /[0-9a-zA-Z]/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入数字或者字母"));
}
};
只能输入字母
export const checkLetter = (rule, value, callback) => {
const reg = /[a-zA-Z]/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入字母"));
}
};
可以输入0和大于0的整数字
export const regWeight = (rule, value, callback) => {
const reg = /^[1-9]+\d*$/;
if (value == "0") {
return callback();
} else {
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入整数字"));
}
}
};
输入数字并保留3位小数
export const checkNumber3 = (rule, value, callback) => {
const reg = /^\d*\.?\d{0,3}$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("只能输入数字并保留3位小数"));
}
};
输入数字并保留2位小数
export const checkPrice = (rule, value, callback) => {
const reg = /^\d+.?\d{0,2}$/;
if (reg.test(value)) {
callback();
} else {
return callback(new Error("只能输入数字并保留2位小数"));
}
};
输入字母汉字,4-11(可为空)
export const checkNameOrNull = (rule, value, callback) => {
const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]{2,9}$/;
if (value) {
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入字母文字或数字,长度2-9位"));
}
} else {
callback();
}
};
校验数字 8-9位正整数(可为空)
export const checkNumberOrNull = (rule, value, callback) => {
const reg = /^[1-9]\d{7,8}$/;
if (value) {
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入整数字,长度8-9位,首位不得为0"));
}
} else {
callback();
}
};