常见正则校验
export const checkRules = (type: string) => {
switch(type) {
case 'telPhone' :
return ([{
required: true,
pattern: /^1[34578]\d{9}$/,
message: '手机号格式不正确'
}])
case 'idCard' :
return ([{
required: true,
pattern: /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/,
message: '身份证格式不正确',
}])
case 'creditCode' :
return ([{
required: true,
message: '税号长度必须是18位',
len: 18
}])
case 'null' :
return ([{
required: true,
message: '你的输入为空',
}])
case 'number' :
return ([{
required: true,
pattern: /^\+?[1-9][0-9]*$/,
message: '请输入正确的数字'
}])
case 'name' :
return ([{
required: true,
pattern: /^[\u2E80-\u9FFF]+$/,
message: '请输入汉字姓名'
}])
default :
return;
}
}
整数
rules={[
{
validator: (_, val) => {
// 保证数值
const value = Number(val);
if (!/^\d+$/.test(value)) {
return Promise.reject('请输入整数');
}
return Promise.resolve();
}
},
]}