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-06-24 09:50:22 发布
本文介绍了如何在前端使用JavaScript进行身份证号码的合法性校验,包括正则表达式验证、18位身份证的加权求和校验以及最后一位校验码的匹配。确保输入的身份证号码符合国家规定。
摘要由CSDN通过智能技术生成