Browse Source

优化

release
ZhaoTongYao 3 years ago
parent
commit
99859982f9
  1. 55
      epdc-resident-mp-yushan/subpages/family/pages/bindFamily/bindFamily.js
  2. 18
      epdc-resident-mp-yushan/subpages/family/pages/familyInfo/familyInfo.js

55
epdc-resident-mp-yushan/subpages/family/pages/bindFamily/bindFamily.js

@ -262,10 +262,15 @@ Page({
}, },
// 获取成员信息 // 获取成员信息
getFamilyMember () { getFamilyMember () {
if (!this.data.fmData.identityNo) { if (!this.identityCodeValid(this.data.fmData.identityNo)) {
return wx.showToast({
} title: '身份证不合法',
if (this.data.fmData.identityNo.length < 16) { icon: 'none',
duration: 2500
})
this.setData({
'fmData.identityNo': ''
})
return return
} }
const params = { const params = {
@ -287,7 +292,49 @@ Page({
} }
}) })
}, },
// 校验身份证是否正确
identityCodeValid (idcode) {
var weightFactor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
// 校验码
var checkCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
var code = idcode + ''
var last = idcode[17]// 最后一位
var seventeen = code.substring(0, 17)
// ISO 7064:1983.MOD 11-2
// 判断最后一位校验码是否正确
var arr = seventeen.split('')
var len = arr.length
var num = 0
for (var i = 0; i < len; i++) {
num = num + arr[i] * weightFactor[i]
}
// 获取余数
var resisue = num % 11
var lastNo = checkCode[resisue]
// 格式的正则
// 正则思路
/*
第一位不可能是0
第二位到第六位可以是0-9
第七位到第十位是年份所以七八位为19或者20
十一位和十二位是月份这两位是01-12之间的数值
十三位和十四位是日期是从01-31之间的数值
十五十六十七都是数字0-9
十八位可能是数字0-9也可能是X
*/
var idcardPatter = /^[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])$/
// 判断格式是否正确
var format = idcardPatter.test(idcode)
// 返回验证结果,校验码和格式同时正确才算是合法的身份证号码
return !!(last === lastNo && format)
},
// 身份证号 // 身份证号
bindIdCardInput (e) { bindIdCardInput (e) {
this.setData({ this.setData({

18
epdc-resident-mp-yushan/subpages/family/pages/familyInfo/familyInfo.js

@ -58,11 +58,19 @@ Page({
async getMemberInfo(idCard){ async getMemberInfo(idCard){
const res = await getFamilyMember({idCard:idCard}) const res = await getFamilyMember({idCard:idCard})
if(res.msg === 'success' && res.code === 0){ if(res.msg === 'success' && res.code === 0){
this.setData({ if (res.data) {
'fmData':res.data, this.setData({
}) 'fmData':res.data,
if (idCard) { })
this.handleValidBlur('',idCard) if (idCard) {
this.handleValidBlur('',idCard)
}
} else {
wx.showToast({
title: '个人信息为空',
icon: 'none',
duration: 2500
})
} }
} }
}, },

Loading…
Cancel
Save