jQuery实现根据身份证号获取生日、年龄、性别等信息的方法

yizhihongxing

要实现根据身份证号获取生日、年龄、性别等信息,需要以下步骤:

第一步:验证身份证号是否合法

身份证号码是由18位字符组成,前17位为数字,最后一位可能是数字或字母X(表示未知或者无法识别)。而且,身份证号还有严格的校验规则,需要满足一定的算法才能被认为是合法的。

我们可以通过正则表达式来验证身份证号是否符合规范,具体的正则表达式可以参考以下代码:

function isIdCardNo(num) {
    //身份证号正则表达式
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(num)) {
        return true;
    } else {
        return false;
    }
}

第二步:解析身份证号码,获取出生日期、性别信息

如果身份证号码通过了验证,那么接下来需要解析它,从中提取出生日期和性别信息。身份证号码的前6位表示省份和城市代码,7到14位表示出生日期,15到17位表示性别和顺序码,最后一位是校验码。

以下是通过jQuery实现根据身份证号获取出生日期和性别信息的代码:

$('#idcard').blur(function() {
    var idCardNo = $(this).val();  //获取输入框中的身份证号码
    if (isIdCardNo(idCardNo)) {
        //解析出生日期和性别信息
        var birthdate = idCardNo.substring(6, 10) + '-' + idCardNo.substring(10, 12) + '-' + idCardNo.substring(12, 14);
        var gender = idCardNo.substring(16, 17) % 2 == 0 ? '女' : '男';

        //将出生日期和性别信息显示在页面上
        $('#birthdate').val(birthdate);
        $('#gender').val(gender);
    }
    else {
        alert('请输入正确的身份证号码!');
    }
})

这段代码中,我们使用jQuery的blur()方法来监听输入框的失去焦点事件,当用户输入完毕身份证号码并离开输入框时,立即执行前面定义的isIdCardNo()方法进行身份证号验证。如果验证通过,就可以通过substring()方法从身份证号中提取出生日期和性别信息,然后将它们显示在页面上。

第三步:计算年龄

最后一步是计算年龄。简单起见,我们可以假设当前日期为2019年7月1日。根据出生日期和当前日期之间的差值,就可以计算出年龄。

以下是通过jQuery实现根据身份证号获取生日、年龄、性别等信息的完整代码:

function isIdCardNo(num) {
    //身份证号正则表达式
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(num)) {
        return true;
    } else {
        return false;
    }
}

$('#idcard').blur(function() {
    var idCardNo = $(this).val();  //获取输入框中的身份证号码
    if (isIdCardNo(idCardNo)) {
        //解析出生日期和性别信息
        var birthdate = idCardNo.substring(6, 10) + '-' + idCardNo.substring(10, 12) + '-' + idCardNo.substring(12, 14);
        var gender = idCardNo.substring(16, 17) % 2 == 0 ? '女' : '男';

        //计算年龄
        var startdate = new Date(birthdate.replace(/-/g, '/'));  //将出生日期转为日期类型
        var enddate = new Date('2019/7/1');  //假设当前日期为2019年7月1日
        var age = enddate.getFullYear() - startdate.getFullYear();  //计算出年龄
        if (enddate.getMonth() < startdate.getMonth() || (enddate.getMonth() == startdate.getMonth() && enddate.getDate() < startdate.getDate())) {
            age--;  //还未到生日,年龄减1
        }

        //将出生日期、年龄和性别信息显示在页面上
        $('#birthdate').val(birthdate);
        $('#age').val(age);
        $('#gender').val(gender);
    }
    else {
        alert('请输入正确的身份证号码!');
    }
})

代码中通过定义startdateenddateage变量,通过getFullYear()getMonth()getDate()方法分别取出年份、月份、日期,计算出年龄,最终将出生日期、年龄和性别信息显示在页面上。

以下是另一个实例,用于解析身份证号中的籍贯省份、城市信息:

function getProvinceCity(idCardNo) {
    if (isIdCardNo(idCardNo)) {
        //解析出籍贯省份、城市信息
        var code = idCardNo.substring(0, 6);
        var province = area[code.substring(0, 2) + '0000'];
        var city = area[code.substring(0, 4) + '00'] || '';

        return province + ' ' + city;
    }
    else {
        alert('请输入正确的身份证号码!');
    }
}

//省份、城市代码及名称
var area = {
    '110000': '北京市', '120000': '天津市', '130000': '河北省', '140000': '山西省', '150000': '内蒙古自治区',
    '210000': '辽宁省', '220000': '吉林省', '230000': '黑龙江省', '310000': '上海市', '320000': '江苏省',
    '330000': '浙江省', '340000': '安徽省', '350000': '福建省', '360000': '江西省', '370000': '山东省',
    '410000': '河南省', '420000': '湖北省', '430000': '湖南省', '440000': '广东省', '450000': '广西壮族自治区',
    '460000': '海南省', '500000': '重庆市', '510000': '四川省', '520000': '贵州省', '530000': '云南省',
    '540000': '西藏自治区', '610000': '陕西省', '620000': '甘肃省', '630000': '青海省', '640000': '宁夏回族自治区', '650000': '新疆维吾尔自治区'
};

代码中定义了一个area变量,表示省份、城市代码及名称的映射关系。用身份证号码前6位提取出地区代码,根据该代码获取对应的省份、城市名称并返回结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现根据身份证号获取生日、年龄、性别等信息的方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Springboot+Thymeleaf+Jpa实现登录功能(附源码)

    下面我将详细讲解“Spring Boot+Thymeleaf+JPA实现登录功能(附源码)”的完整攻略。 一、环境准备 1.安装JDK 首先要确保你的系统上已经安装了JDK。可以通过执行以下命令来检查是否已经安装成功: java -version 2.安装Maven Maven是一个项目管理工具,用于构建和管理Java项目。你可以从Maven官网下载安装包并…

    jquery 2023年5月27日
    00
  • jquery 问答知识整理

    jQuery 问答知识整理攻略 什么是jQuery? jQuery是一款优秀的JavaScript库,可以使用户更加方便地操作DOM、处理事件以及实现动画效果。其主要特点有: 简便易用 跨浏览器兼容 大量的插件和扩展 处理DOM和CSS非常方便 jQuery基础知识 如何引入jQuery库? 可以使用以下两种方式引入jQuery库: <!– 从jQu…

    jquery 2023年5月27日
    00
  • jQuery each()方法的使用方法

    jQuery each()方法的使用方法详解 简介 jQuery库是一个极为流行和广泛应用的JavaScript库,其中的each()方法是其中最为基础的方法之一。它可以对jQuery对象进行遍历操作,而无需编写完整的循环处理语句,方便快捷的进行数据处理。在本篇攻略中,我们详细讲解jQuery each()方法的使用方法。 语法结构 jQuery提供的eac…

    jquery 2023年5月27日
    00
  • 如何使用jQuery检查当前选择与表达式的关系

    如何使用jQuery检查当前选择与表达式的关系 在jQuery中,我们可以使用选择器来选择元素。有时候,我们需要检查当前选择与表达式的关系,以便更好地处理数据。在本攻略中,我们将详细讲解如何使用jQuery检查当前选择与表达式的关系,并提供两个例子来说明如何使用这些方法。 步骤1:使用is方法检查当前选择与表达式的关系 要使用is检查当前选择与表达式的关系,…

    jquery 2023年5月9日
    00
  • 基于nodejs 的多页面爬虫实例代码

    点此前往基于nodejs的多页面爬虫实例代码。 什么是爬虫? 爬虫是指按照一定的规则自动抓取互联网信息的程序工具。常用于各类搜索引擎、数据采集、研究和分析等方面。 基于nodejs 的多页面爬虫实例代码 本篇文章将为大家介绍一个使用 Node.js 编写的多页面爬虫的实例代码,借助此代码,您可以轻松地抓取网页数据。 前置条件 Node.js NPM 代码文件…

    jquery 2023年5月27日
    00
  • JavaScript DOM元素常见操作详解【添加、删除、修改等】

    JavaScript DOM元素常见操作详解 1. 获取DOM元素 使用 JavaScript 可以轻松地操作页面的 DOM 元素。在对 DOM 进行任何更改之前,必须首先将元素获取到。 获取 DOM 元素有多种方式,下面介绍最常用的两种方法: 1.1 通过 ID 获取元素 可以使用以下代码来获取指定 id 的元素: const element = docu…

    jquery 2023年5月27日
    00
  • 解析Jquery取得iframe中元素的几种方法

    当我们在网页开发中使用iframe标签嵌入子网页时,经常需要通过JavaScript代码获取到子网页中的特定元素。以下是解析Jquery取得iframe中元素的几种方法: 方法一:直接访问iframe元素 可以通过访问iframe元素的contentDocument和contentWindow属性,来获取子网页中的元素。 <iframe src=&qu…

    jquery 2023年5月28日
    00
  • jQuery UI Spinner min 选项

    以下是关于 jQuery UI Spinner min 选项的详细攻略: jQuery UI Spinner min 选项 可以使用 min 选项来设置 Spinner 控件的最小值。将限制用户输入的值不能小于最小值。 语法 $( ".selector" ).spinner({ min: 0 }); 示例一:设置 Spinner 控件的最…

    jquery 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部