随笔 - 315  文章 - 1  评论 - 12  阅读 - 24万

vue表单:输入身份证号码则自动获取对应的年龄和性别,,若不输入身份证号则自己填写年龄和性别

<el-input
:ref="item.meta.system_id"
v-model="temp[item.meta.valueKey]"
clearable
oninput="if(value.length>18)value=value.slice(0,18)"
:disabled="item.meta.disabled"
:placeholder="item.meta.placeholder ? item.meta.placeholder : '请输入'"
@blur="onBlurCard"
/>

// 电话输入框失去焦点即表示该输入框输入了值且通过正则表达式是个合法是身份证号码
onBlurCard() {

const val = this.temp['idCardNo'].length // 获取电话号码长度
const iden = this.temp['idCardNo'] // 获取电话号码输入框的值
let sex = null
const myDate = new Date()
const month = myDate.getMonth() + 1
const day = myDate.getDate()
let age = 0

if (val === 18) {
age = myDate.getFullYear() - iden.substring(6, 10) - 1
sex = iden.substring(16, 17)
if (iden.substring(10, 12) < month || iden.substring(10, 12) === month && iden.substring(12, 14) <= day) age++
}
if (val === 15) {
age = myDate.getFullYear() - iden.substring(6, 8) - 1901
sex = iden.substring(13, 14)
if (iden.substring(8, 10) < month || iden.substring(8, 10) === month && iden.substring(10, 12) <= day) age++
}

if (sex % 2 === 0) { sex = 2 } else { sex = 1 } // sex的值需要根据情况而定,,这里协议的值为:
studentSex: new Map([ // 学生性别
[2, '女'],
[1, '男'],
[3, '未知']
]),

this.temp['studentSex'] = sex // 设置表单中性别的值
this.temp['studentAge'] = age // 设置表单中年龄字段的值
}
posted on   小虾米吖~  阅读(2255)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」

点击右上角即可分享
微信分享提示