话不多说 记个模板 身份证 电话 邮箱
```
// 校验
vertifyQuestionnaire() {
let message = null;
let phone_reg = /^1[345789]\d{9}$/;
let mail_reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
// 身份证正则
let _IDRe18 = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/;
let _IDre15 = /^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/;
if (!this.patientGender) {
message = "请选择您的性别";
} else if (!this.patientName) {
message = "请输入您的姓名";
} else if (!this.patientPhone) {
message = "请填写您的手机号";
} else if (!this.patientEmail) {
message = "请输入您的邮箱";
} else if (!this.patientIDCard) {
message = "请输入您的身份证";
} else if (!this.checkHospital) {
message = "请填写您的检查医院";
} else {
if (!phone_reg.test(this.patientPhone)) message = "手机号输入错误";
if (!mail_reg.test(this.patientEmail)) message = "邮箱输入错误";
if (
_IDRe18.test(this.patientIDCard) ||
_IDre15.test(this.patientIDCard)
) {
console.log("通过");
} else {
message = "身份证格式错误";
}
}
return message;
},
身份证分为18位 15位。
正则匹配身份证号 分为18位和15位 ,首先写正则之前我们先明白身份证号的结构 18位 地区: ([1-6][1-9]|50)\d{4} // 补充重庆地区50 年的前两位: (18|19|20) 1800-2399 年的后两位: \d{2} 月份:((0[1-9])|10|11|12) 天数: (([0-2][1-9])|10|20|30|31) 闰年不能禁止29+ 三位顺序码: \d{3} 校验码: [0-9Xx] // 校验18位的身份证 let _IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]/ 身份证号的结构 15位 地区:\[1-6\]\[1-9\]\\d{4} 年份只有后两位:\\d{2} 月份:((0\[1-9\])|10|11|12) 天数:((\[0-2\]\[1-9\])|10|20|30|31) 闰年不能禁止29+ 三位顺序码: \\d{3} // 校验15位的身份证 let \_IDRe15 = /^(\[1-6\]\[1-9\]|50)\\d{4}\\d{2}((0\[1-9\])|10|11|12)((\[0-2\]\[1-9\])|10|20|30|31)\\d{3}/