转岗管理取消身份证号验证

dev-scheduling
zhangdi 3 months ago
parent 4480524df0
commit 24d7a7cd52
  1. 78
      src/views/basicData/jobTransferManagement.vue

@ -398,45 +398,45 @@ export default {
message: '请输入身份证号码',
trigger: 'blur',
},
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '请输入正确的身份证号码格式',
trigger: 'blur',
validator: (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入身份证号码'));
}
// 15
if (value.length === 15) {
const pattern = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
if (!pattern.test(value)) {
return callback(new Error('请输入有效的15位身份证号码'));
}
}
// 18
else if (value.length === 18) {
const pattern =
/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
if (!pattern.test(value)) {
return callback(new Error('请输入有效的18位身份证号码'));
}
//
const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
const codes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
let sum = 0;
for (let i = 0; i < 17; i++) {
sum += parseInt(value.charAt(i)) * weights[i];
}
const lastCode = codes[sum % 11];
if (value.toUpperCase().charAt(17) !== lastCode) {
return callback(new Error('身份证号码校验码不正确,请核对'));
}
} else {
return callback(new Error('身份证号码长度不正确,应为15位或18位'));
}
callback();
},
},
// {
// pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
// message: '',
// trigger: 'blur',
// validator: (rule, value, callback) => {
// if (!value) {
// return callback(new Error(''));
// }
// // 15
// if (value.length === 15) {
// const pattern = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
// if (!pattern.test(value)) {
// return callback(new Error('15'));
// }
// }
// // 18
// else if (value.length === 18) {
// const pattern =
// /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
// if (!pattern.test(value)) {
// return callback(new Error('18'));
// }
// //
// const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
// const codes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
// let sum = 0;
// for (let i = 0; i < 17; i++) {
// sum += parseInt(value.charAt(i)) * weights[i];
// }
// const lastCode = codes[sum % 11];
// if (value.toUpperCase().charAt(17) !== lastCode) {
// return callback(new Error(''));
// }
// } else {
// return callback(new Error('1518'));
// }
// callback();
// },
// },
],
},
{

Loading…
Cancel
Save