常用表单验证(用户名,密码,手机号,短信,身份证号)

217 阅读1分钟

用户名校验

account (value) {
if (!value) return '请输入用户名'
// 规则:字母开头6-20字符之间
if (!/^[a-zA-Z0-9_-]{6,20}$/.test(value)) return '6-20位包括-,_0-9,a-z,A-Z'
return true
},

密码校验

password (value) {
if (!value) return '请输入密码'
// 规则:密码格式6-24个字符
if (!/^\w{6,24}$/.test(value)) return '密码6-24个字符'
return true
},

手机号校验

mobile (value) {
if (!value) return '请输入手机号'
// 规则:1开头 3-9 之间  9个数字
if (!/^1[3-9]\d{9}$/.test(value)) return '手机号格式不对'
return true
},

短信校验

code (value) {
if (!value) return '请输入短信验证码'
// 规则: 6个数字
if (!/^\d{6}$/.test(value)) return '短信验证码6个数字'
return true
}

身份证校验

identity(value){
if (!value) return "请输入身份证"
//第一位是1-9,第二位到第6位都是0-9,第七位到第十五位是出生日期,所以第七位和第八位为19或者20,第九位和第十位我没有细分,因为不能保证1901年的人是不是还活着,2099年这个项目就不存在,所以就直接都是0-9.第十一位和第十二位为01-12,第十三和第十四位为01-31,也没有细分大小月,第十五位到第十七位都是0-9,第十八位是0-9,也可能是x
if(!/^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0-9]{2})([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/.test(value)) return "身份证格式不合法"
return true
}

和籍贯对应的身份证校验(精确到省因为开国以来,只有省内市地址调动,省地址)