前端根据身份证自动获取性别和出生日期

在这里插入图片描述
页面交互就是用户输完身份证,自动渲染性别和出生日期,减少用户 的琐碎操作,提升用户体验感。
js代码:

getIdInfo(cardNo) {
    var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则
    if(reg.test(cardNo)){ // 身份证号码是否合法
        var birthday = "";
        var gender = "";
        if (cardNo.length == 15) {
            var org_birthday = cardNo.substring(6, 12);
            var org_gender = cardNo.substring(14, 15);
            birthday = "19" + org_birthday.substring(0, 2) + "-"
                + org_birthday.substring(2, 4) + "-"
                + org_birthday.substring(4, 6);
            gender = org_gender % 2 == 1 ? "male" : "female";
        } else if (cardNo.length == 18) {
            var org_birthday = cardNo.substring(6, 14);
            var org_gender = cardNo.substring(16, 17);
            birthday = org_birthday.substring(0, 4) + "-"
                + org_birthday.substring(4, 6) + "-"
                + org_birthday.substring(6, 8);
            gender = org_gender % 2 == 1 ? "male" : "female";
        }
        this.$set(this.addForm,'rp0303',gender==='male'?'1':'2') // 转化成number渲染
        this.$set(this.addForm,'rp0304',birthday)
    }else{
        return false;
    }
},
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在前端获取当前日期和上一日,可以使用JavaScript的Date对象和moment.js库。 首先,可以使用Date对象获取当前日期。可以使用以下代码获取当前日期: ```javascript let now = new Date(); let currentYear = now.getFullYear(); let currentMonth = now.getMonth() + 1; let currentDay = now.getDate(); let currentDate = `${currentYear}-${currentMonth}-${currentDay}`; ``` 然后,可以使用moment.js库来获取上一日的日期。可以使用以下代码获取上一日的起始时间和结束时间: ```javascript function preDay(date) { let startDate = moment(date).subtract(1, "days").startOf("days").format("YYYY-MM-DD HH:mm:ss"); let endDate = moment(date).subtract(1, "days").endOf("days").format("YYYY-MM-DD HH:mm:ss"); return \[startDate, endDate\]; } ``` 调用preDay函数并传入当前日期,即可获取上一日的起始时间和结束时间。 所以,前端获取当前日期和上一日的代码如下: ```javascript let now = new Date(); let currentYear = now.getFullYear(); let currentMonth = now.getMonth() + 1; let currentDay = now.getDate(); let currentDate = `${currentYear}-${currentMonth}-${currentDay}`; function preDay(date) { let startDate = moment(date).subtract(1, "days").startOf("days").format("YYYY-MM-DD HH:mm:ss"); let endDate = moment(date).subtract(1, "days").endOf("days").format("YYYY-MM-DD HH:mm:ss"); return \[startDate, endDate\]; } let previousDay = preDay(currentDate); ``` 其中,currentDate是当前日期,previousDay是上一日的起始时间和结束时间。 #### 引用[.reference_title] - *1* [JavaScript js获取当前日期上一个月、下一个月并处理特殊月2月问题](https://blog.csdn.net/weixin_43743175/article/details/125679938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JavaScript、js、vue获取当前天、上一日、下一日时间范围(moment.js)](https://blog.csdn.net/hhhppj/article/details/122433735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值