vue身份证号码校验
一、vue身份證號碼校驗?
let checkRegNo = (rule,value,callback) => {
? ? setTimeout(() => {
? ? ? ? const rr = /^[1-9]\d{1}(.{13}|.{16})$/
? ? ? ? if(rr.test(value)){
? ? ? ? ? ? if(value.length==18){
? ? ? ? ? ? ? ? //加權因子
? ? ? ? ? ? ? ? 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 idWiSum = 0
? ? ? ? ? ? ? ? for(let i =0; i<17 ;i++){
? ? ? ? ? ? ? ? ? ? idWiSum += value.substring(i,i+1)*weight_factor[i]
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? //計算模
? ? ? ? ? ? ? ? let idMod = idWiSum % 11 ?
? ? ? ? ? ? ? ? let idLastCode = check_code[idMod]
? ? ? ? ? ? ? ? if(value[17] == idLastCode){
? ? ? ? ? ? ? ? ? ? callback
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? callback(new Error('身份證最后一位校驗碼不正確'))
? ? ? ? ? ? }
? ? ? ? }else{
? ? ? ? ? ? callback(new Error('身份證僅能為15位或18位且前兩位為有效行政區劃代碼'))
? ? ? ? }
? ? },1000)
}
二、使用
regNo : [{validator:checkRegNo,trigger:'blur'} ]總結
以上是生活随笔為你收集整理的vue身份证号码校验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Nod的离线升级方案
- 下一篇: Android常用的网络权限,Andro