Selaa lähdekoodia

正则表达式

y595705120 3 viikkoa sitten
vanhempi
commit
70e33bc23d
1 muutettua tiedostoa jossa 20 lisäystä ja 1 poistoa
  1. 20 1
      src/containers/apply/index.vue

+ 20 - 1
src/containers/apply/index.vue

@@ -122,7 +122,25 @@
         rules: {
           nickname: [{required: true, message: "请输入名字", trigger: "blur", min: 2 }],
           rzCode: [{ required: true, message: "请输入证书编号", trigger: "blur", min: 6 }],
-          cardId: [ { required: true, message: "请输入身份证", trigger: "blur", min: 18, max:18  }],
+          cardId: [
+            { required: true, message: '请输入身份证号码', trigger: 'blur' },
+            {
+              validator: (rule, value, callback) => {
+                if (!value) {
+                  return callback(new Error('请输入身份证号码'));
+                }
+                const cleanValue = value.replace(/[\s()]/g, '').toUpperCase();
+                const mainlandReg = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/;
+                const hkReg = /^(?:C(?:\d{8}|[A-HJ-NP-Z]\d{7})|[HM](?:\d{10}|\d{8}))$/;
+                if (mainlandReg.test(cleanValue) || hkReg.test(cleanValue)) {
+                  callback();
+                } else {
+                  callback(new Error('请输入正确的大陆身份证(18位)或香港身份证(如 A1234567)'));
+                }
+              },
+              trigger: 'blur'
+            }
+          ],
           phone: [ { required: true, message: "请输入手机号", trigger: "blur", min: 11, max:11  }],
           courseId: [ { required: true, message: "请选择岗位", trigger: "blur" }]
         },
@@ -146,6 +164,7 @@
           this.updateCompanyDialog = true
       },
       doAddUser(){
+        let cardId = this.form.cardId;
         this.$refs["elForm"].validate((valid) => {
           if (!valid) return;
           let param = Object.assign({}, this.form, this.param);