<el-col :span="12">
<el-form-item class="is-required" label="身份证号码" prop="idCode" :rules="{required: true,validator: checkIdCode,trigger: 'blur'}">
<el-input v-model="idCode" placeholder="请输入" maxlength="18" clearable></el-input>
</el-form-item>
</el-col>
/**
* @deprecated 身份证号码校验
*/
export function checkIdCodeBool(idcode) {
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 code = idcode + "";
let last = idcode[17];
let seventeen = code.substring(0,17);
let arr = seventeen.split("");
let len = arr.length;
let num = 0;
for(var i = 0; i < len; i++){
num = num + arr[i] * weight_factor[i];
}
let resisue = num%11;
let last_no = check_code[resisue];
let idcard_patter = /^[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])$/;
let format = idcard_patter.test(idcode);
return last === last_no && format ? true : false;
}
/**
* @deprecated 身份证号码校验
* @method checkIdCode
* @param {string} value 身份证号码
*/
checkIdCode(rule,value,callback){
if (!value) {
return callback(new Error('请输入身份证号码'));
}else if(!checkIdCodeBool(value)){
return callback(new Error('请输入正确的身份证号码'));
}else{
this.showBirthdayAndSexByIdCode(value);
callback();
}
callback();
},
/**
* @deprecated 根据身份证自动回显生日与性别
* @method showBirthdayAndSexByIdCode
* @param {string} idCode 身份证号码
*/
showBirthdayAndSexByIdCode(idCode){
this.birthday = idCode.substring(6, 10) + "-" + idCode.substring(10, 12) + "-" + idCode.substring(12, 14);
this.sex = parseInt(idCode.substr(16, 1)) % 2 === 1?'男':'女';
},