微信小程序识别输入框输入的身份证号,对身份证号进行校验,获取获取出生日期、年龄、性别

时间: 2023-11-28 09:51:32 浏览: 55
可以使用正则表达式对输入的身份证号进行校验,然后根据身份证号的规则提取出生日期、年龄、性别等信息。 以下是一个示例代码: ```javascript // 校验身份证号 function validateIdCard(idCard) { var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; return reg.test(idCard); } // 获取出生日期 function getBirthDate(idCard) { var year, month, day; if (idCard.length == 15) { year = "19" + idCard.substring(6, 8); month = idCard.substring(8, 10); day = idCard.substring(10, 12); } else if (idCard.length == 18) { year = idCard.substring(6, 10); month = idCard.substring(10, 12); day = idCard.substring(12, 14); } return year + "-" + month + "-" + day; } // 获取年龄 function getAge(idCard) { var birthDate = getBirthDate(idCard); var age = new Date().getFullYear() - parseInt(birthDate.substring(0, 4)); if (new Date(birthDate).getMonth() > new Date().getMonth() || (new Date(birthDate).getMonth() == new Date().getMonth() && new Date(birthDate).getDate() > new Date().getDate())) { age--; } return age; } // 获取性别 function getGender(idCard) { var gender; if (idCard.length == 15) { gender = parseInt(idCard.charAt(14)) % 2 == 1 ? "男" : "女"; } else if (idCard.length == 18) { gender = parseInt(idCard.charAt(16)) % 2 == 1 ? "男" : "女"; } return gender; } // 在输入框输入时调用 function onInput(e) { var idCard = e.detail.value; if (validateIdCard(idCard)) { var birthDate = getBirthDate(idCard); var age = getAge(idCard); var gender = getGender(idCard); console.log("出生日期:" + birthDate + " 年龄:" + age + " 性别:" + gender); // TODO: 更新页面显示出生日期、年龄、性别等信息 } else { console.log("身份证号格式不正确"); // TODO: 更新页面提示身份证号格式不正确 } } ``` 在 `onInput` 函数中,首先校验输入的身份证号是否合法,如果合法则使用 `getBirthDate`、`getAge` 和 `getGender` 函数分别获取出生日期、年龄和性别,然后更新页面显示这些信息。如果身份证号格式不正确,则提示用户输入格式不正确。

相关推荐

最新推荐

recommend-type

微信小程序实现身份证取景框拍摄

主要介绍了微信小程序实现身份证取景框拍摄,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

微信小程序利用云函数获取手机号码

主要介绍了微信小程序利用云函数获取手机号码功能,本文通过实例代码给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

微信小程序如何通过用户授权获取手机号(getPhoneNumber)

主要介绍了微信小程序如何通过用户授权获取手机号(getPhoneNumber),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

微信小程序 input输入框控件详解及实例(多种示例)

主要介绍了微信小程序 input输入框控件详解及实例(多种示例)的相关资料,输入框在程序中是最常见的,登录,注册,获取搜索框中的内容等等都需要,需要的朋友可以参考下
recommend-type

微信小程序简单实现form表单获取输入数据功能示例

本文实例讲述了微信小程序简单实现form表单获取输入数据功能。分享给大家供大家参考,具体如下: 1、效果展示 2、关键代码 index.wxml <form bindsubmit="formBindsubmit" bindreset="formReset"> 用户名...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。