• 验证身份证是否合法


    <el-col :span="12">
      <el-form-item  class="is-required" label="身份证号码" prop="idCode" :rules="{required: true,validator: checkIdCode,trigger: 'blur'}">
        <el-input v-model="idCode" placeholder="请输入" maxlength="18"  clearable></el-input>
      </el-form-item>
    
    </el-col>
    
    /**
     * @deprecated 身份证号码校验
     */
    export function checkIdCodeBool(idcode) {
      let weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
      let check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2'];
      let code = idcode + "";
      let last = idcode[17];
      let seventeen = code.substring(0,17);
      let arr = seventeen.split("");
      let len = arr.length;
      let num = 0;
      for(var i = 0; i < len; i++){
        num = num + arr[i] * weight_factor[i];
      }
      let resisue = num%11;
      let last_no = check_code[resisue];
      let idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;
      let format = idcard_patter.test(idcode);
      return last === last_no && format ? true : false;
    }
    
    /**
     * @deprecated 身份证号码校验
     * @method checkIdCode
     * @param {string} value 身份证号码
     */
    checkIdCode(rule,value,callback){
      if (!value) {
        return callback(new Error('请输入身份证号码'));
      }else if(!checkIdCodeBool(value)){
        return callback(new Error('请输入正确的身份证号码'));
      }else{
        this.showBirthdayAndSexByIdCode(value);
        callback();
      }
      callback();
    },
    
    /**
     * @deprecated 根据身份证自动回显生日与性别
     * @method showBirthdayAndSexByIdCode
     * @param {string} idCode 身份证号码
     */
    showBirthdayAndSexByIdCode(idCode){
      this.birthday = idCode.substring(6, 10) + "-" + idCode.substring(10, 12) + "-" + idCode.substring(12, 14);
      this.sex = parseInt(idCode.substr(16, 1)) % 2 === 1?'男':'女';
    },
    

    本文来自博客园,作者:小基狠努力啊,转载请注明原文链接:https://www.cnblogs.com/ylh188/p/14986221.html

  • 相关阅读:
    js 常用正则表达式
    深度学习
    开通自动订阅功能前:输入银行业务信息
    VUE学习九,生命周期
    Setting Windows server firewall by powershell
    Install iis web server using powershell
    转 FAL[server, ARC3]: FAL archive failed Error 16401 creating standby archive log file at host
    springboot admin 监控
    二进制手指计数法
    SpringBoot集成Swagger-Bootstrap-UI
  • 原文地址:https://www.cnblogs.com/ylh188/p/14986221.html
Copyright © 2020-2023  润新知