var idNumberRule= (rule, value, callback) => { const reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/ if (this.FormData.idnum === '' || this.FormData.idnum === null) { callback() } else if (reg.test(this.FormData.idnum)) { if (this.FormData.idnum.length === 18) { const idCardWi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] // 将前17位加权因子保存在数组里 const idCardY = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2] // 这是除以11后,可能产生的11位余数、验证码,也保存成数组 let idCardWiSum = 0 // 用来保存前17位各自乖以加权因子后的总和 for (var i = 0; i < 17; i++) { idCardWiSum += this.FormData.idnum.substring(i, i + 1) * idCardWi[i] } const idCardMod = idCardWiSum % 11// 计算出校验码所在数组的位置 const idCardLast = this.FormData.idnum.substring(17)// 得到最后一位身份证号码 // 如果等
身份证号码合法性校验 前端
最新推荐文章于 2024-04-26 10:29:00 发布