关于正则表达式进行自定义校验
包含几种规则:
1.格式“BIL1100”,规则:前三位是字母,后四位是数字。
var validateNumber = (rule, value, callback) => {
const age= /^[A-Za-z]{3}[0-9]{4}$/;
if (!age.test(value)) {
callback(new Error('格式不正确,例:“BIL1100”'));
}else{
callback();
}
};
2.验证码,格式“ss11”,规则:四位。
var validateCode = (rule, value, callback) => {
const age= /^[0-9a-zA-Z]{4}$/;
if (!age.test(value)) {
callback(new Error('格式不正确,例:“ss11”'));
}else{
callback();
}
};
3.密码,规则:6~16个字符,区分大小写。
var validatePass1 = (rule, value, callback) => {
const age= /^[0-9a-zA-Z]{6,16}$/;
if (!age.test(value)) {
callback(new Error('格式不正确,规则:6~16个字符,区分大小写。'));
}else{
callback();
}
};
4. 问题描述,规则:不少于20个字符。
var validateDescribe = (rule, value, callback) => {
const age= /^[\u4e00-\u9fa5a-zA-Z0-9]{20,}$/;
if (!age.test(value)) {
callback(new Error('规则:不少于20个字符。'));
}else{
callback();
}
};
5.数字
var validateNodeid = (rule, value, callback) => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
}else {
callback();
}
};
6.支持字母、数字、下划线、@、且至少包含一个字母,长度为8-30位
var validateName = (rule, value, callback) => {
var regName = /(?=.*[a-zA-Z])^[a-zA-Z0-9_@]{8,30}$/;
if(value === ''){
callback(new Error('请输入用户名'));
}
else if(!regName.test(value.replace(' ',''))){
callback(new Error('支持字母、数字、下划线、@、且至少包含一个字母,长度为8-30位'));
}
else {
callback();
}
};
后续会接着总结。

浙公网安备 33010602011771号