<template>
  <div>
    <input type="text" v-model="idNumber" v-on:input="checkIdNumber"/>
    <p v-if="isValid">验证通过</p>
    <p v-if="!isValid">{{errorMessage}}</p>
    <p v-if="attemptsRemaining === 0">您已连续三次输入错误,请稍后再试。</p>
  </div>
</template>
<script>
export default {
  data() {
    return {
      idNumber: '',
      isValid: false,
      errorMessage: '',
      attemptsRemaining: 3
    }
  },
  methods: {
    checkIdNumber() {
      // 判断身份证号码是否合规
      const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
      if (!reg.test(this.idNumber)) {
        this.isValid = false
        this.errorMessage = '请再次输入'
        this.attemptsRemaining--
        if (this.attemptsRemaining === 0) {
          this.idNumber = ''
        }
      } else {
        this.isValid = true
        this.errorMessage = ''
        this.attemptsRemaining = 3
      }
    }
  }
}
</script>

原文地址: https://www.cveoy.top/t/topic/b0Ud 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录