vue+elementui 自定义常用校验规则
暂时先发四种,业务亲测有效,会更新的
- 邮箱校验
var checkEmail = (rule, value, callback) => {
const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
if (!value) {
return callback(new Error('邮箱不能为空'))
}
setTimeout(() => {
if (mailReg.test(value)) {
callback()
} else {
callback(new Error('请输入正确的邮箱格式'))
}
}, 100)
}
-
身份证最后一位和个数校验
var checkCard = (rule, value, callback) => { const cardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X)$)/ if (!value) { return callback(new Error('身份证号码不能为空')) } setTimeout(() => { if (cardReg.test(value)) { callback() } else { callback(new Error('请输入正确的身份证号码')) } }, 100) }
-
手机号码校验
var checkPhone = (rule, value, callback) => { if (!value) { return callback(new Error('请输入手机号码')); } else { const reg = /^1[3|4|5|7|8][0-9]\d{8}$/ // console.log(reg.test(value)); if (reg.test(value)) { callback(); } else { return callback(new Error('请输入正确的手机号码')); } } };
-
强密码校验
var validateNewPwd = (rule, value, callback) => { if (value === null || value === '') { callback(new Error('请输入新密码')); return } if (value.length < 6) { callback(new Error('新密码长度过短')); return } var reg = new RegExp("^[0-9]*$"); if (reg.test(value)) { callback(new Error('新密码不能为纯数字')); return } reg = new RegExp("^[a-z]*$"); if (reg.test(value)) { callback(new Error('新密码不能为纯小写字母')); return } reg = new RegExp("^[A-Z]*$"); if (reg.test(value)) { callback(new Error('新密码不能为纯大写字母')); return } callback(); };