关于正则表达式进行自定义校验
包含几种规则:
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(); } };
后续会接着总结。