vue element-ui 通过身份证获取年龄,出生日期
生活随笔
收集整理的這篇文章主要介紹了
vue element-ui 通过身份证获取年龄,出生日期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
頁面代碼:
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body><el-form-item label="兒童身份證" prop="idcard"><el-input v-model="form.idcard" placeholder="請輸入兒童身份證" style="width: 220px;"/></el-form-item> </el-dialog> // 表單校驗rules: {idcard: [{ required: true, message: '身份證號不能為空', trigger: 'blur' },{ validator: this.validID, trigger: 'blur' }]}method代碼:
// 身份證驗證async validID(rule,value,callback){// 身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最后一位是校驗位,可能為數字或字符Xlet reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if (reg.test(value)) {await this.go(value.length);callback()} else {callback(new Error('身份證號碼不正確'))}},// 實現自動生成生日,性別,年齡go(val) {let iden = this.form.idcard;let sex = null;let birth = null;let myDate = new Date();let month = myDate.getMonth() + 1;let day = myDate.getDate();let age = 0;if(val===18){age = myDate.getFullYear() - iden.substring(6, 10) - 1;sex = iden.substring(16,17);birth = iden.substring(6,10)+"-"+iden.substring(10,12)+"-"+iden.substring(12,14);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);birth = "19"+iden.substring(6,8)+"-"+iden.substring(8,10)+"-"+iden.substring(10,12);if (iden.substring(8, 10) < month || iden.substring(8, 10) == month && iden.substring(10, 12) <= day) age++;}if(sex%2 === 0)sex = '0';elsesex = '1';//性別 ==> 1:男 0:女// this.form.sex = sex;this.form.age = age;this.form.birthdate = birth;},總結
以上是生活随笔為你收集整理的vue element-ui 通过身份证获取年龄,出生日期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美国50个州最值钱的Startup都是些
- 下一篇: html5倒计时秒杀怎么做,vue 设