js验证身份证号有效性并提示对应信息

yizhihongxing

为了讲解验证身份证号有效性的完整攻略,我将分以下几个步骤进行介绍:

  1. 了解身份证号的规则

身份证号是由18或15位数字和字母组成的标识符,其中最后一位可能是数字或字母X。身份证号是根据国家标准GB 11643-1999确定的,身份证号的前17位数字是根据ISO 7064:1983算法计算出来的,最后一位是校验码。

  1. 编写JavaScript代码实现身份证有效性的验证

下面是一个使用JavaScript代码验证身份证有效性的例子:

function checkIdCard(idCard) {
    // 定义验证规则
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    // 如果身份证号格式不正确,则返回false
    if (!reg.test(idCard)) {
        alert("身份证号码输入不正确!");
        return false;
    }
    // 判断18位身份证中最后一位校验码是否正确
    if (idCard.length == 18) {
        var codeArr = idCard.split("");
        var sum = 0;
        for (var i = 0; i < 17; i++) {
            sum += parseInt(codeArr[i]) * parseInt('7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2'.split(" ")[i]);
        }
        var mod = sum % 11;
        var checkCode = '10X98765432'.substr(mod, 1);
        if (codeArr[17].toUpperCase() != checkCode) {
            alert("身份证号码输入不正确!");
            return false;
        }
    }
    return true;
}
  1. 在HTML代码中调用JavaScript代码并进行处理

为了方便起见,我们将实现上述JavaScript代码的函数与HTML代码放在同一文件中,可以在HTML中使用<button onclick=”checkIdCard(document.getElementById(‘idCard’).value)”>检查</button>调用JavaScript函数。

实际上,我们还可以通过使用弹出框、div等方式在页面上显示验证结果。例如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>验证身份证号有效性并提示对应信息</title>
    <style>
        .result {
            font-size: 18px;
            color: red;
        }
    </style>
    <script>
    function checkIdCard(idCard) {
        var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        if (!reg.test(idCard)) {
            document.getElementById("result").innerHTML = "身份证号码输入不正确!";
            return false;
        }
        if (idCard.length == 18) {
            var codeArr = idCard.split("");
            var sum = 0;
            for (var i = 0; i < 17; i++) {
                sum += parseInt(codeArr[i]) * parseInt('7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2'.split(" ")[i]);
            }
            var mod = sum % 11;
            var checkCode = '10X98765432'.substr(mod, 1);
            if (codeArr[17].toUpperCase() != checkCode) {
                document.getElementById("result").innerHTML = "身份证号码输入不正确!";
                return false;
            }
        }
        document.getElementById("result").innerHTML = "身份证号码输入正确!";
        return true;
    }
    </script>
</head>
<body>
    <label for="idCard">身份证号码:</label>
    <input type="text" id="idCard">
    <button onclick="checkIdCard(document.getElementById('idCard').value)">检查</button>
    <div id="result"></div>
</body>
</html>

在这个例子中,我们通过页面上的div元素显示验证结果。当用户输入身份证号码并点击检查按钮时,页面会立即显示一条结果信息,该信息将立即告知用户其输入有效性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js验证身份证号有效性并提示对应信息 - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • Hibernate持久化对象生命周期原理解析

    Hibernate持久化对象生命周期原理解析——完整攻略 什么是Hibernate? Hibernate是一个Java持久化框架,可以将Java程序中的对象映射到关系型数据库中,使得程序员可以直接操作Java对象,而无需写SQL语句。 Hibernate中的对象生命周期 Hibernate中的对象生命周期分为四个状态:瞬时状态、持久化状态、游离状态、删除状态…

    Java 2023年5月19日
    00
  • 一文带你深入剖析Java线程池的前世今生

    一文带你深入剖析Java线程池的前世今生 前言 在多线程编程中,合理使用线程池可以非常有效地提高系统的性能和稳定性。Java线程池作为Java提供的重要多线程协调工具,在实际开发中备受青睐。本文将从Java线程池的定义、类型、工作原理、使用场景以及常见误区等方面进行深入分析和讲解,帮助Java初学者和进阶者更好地掌握线程池的使用。 定义 Java线程池本质上…

    Java 2023年5月24日
    00
  • JAVA开发常用类库UUID、Optional、ThreadLocal、TimerTask、Base64使用方法与实例详解

    JAVA开发常用类库攻略 本文将介绍JAVA开发中常用的类库UUID、Optional、ThreadLocal、TimerTask、Base64的用法和实例。希望能对大家在实际开发中遇到的问题有所帮助。 UUID UUID全称为Universally Unique Identifier,在Java中为java.util.UUID类,主要用于生成唯一标识符。 …

    Java 2023年5月18日
    00
  • maven assembly打包生成Java应用启动脚本bat和sh的方法

    下面是详细讲解“maven assembly打包生成Java应用启动脚本bat和sh的方法”的完整攻略。 1. 简介 Maven 是一个基于项目对象模型(POM),可以通过一小段描述文件来管理项目的构建、报告和文档的工具。Maven assembly插件为开发者提供了制作可独立运行的发行版(Distribution)的能力,可以通过配置在项目构建时产生必要的…

    Java 2023年5月20日
    00
  • Java使用httpRequest+Jsoup爬取红蓝球号码

    下面是Java使用httpRequest+Jsoup爬取红蓝球号码的完整攻略。 1. 确定目标网站和爬取方式 首先要确定目标网站,这里以中国福利彩票双色球为例(http://www.cwl.gov.cn/kjxx/ssq/kjgg/)。双色球的开奖号码一般都是在晚上9点左右开奖,因此爬取频率要保持在一天只进行一次,以免被服务器屏蔽。另外,在爬取过程中需要保持…

    Java 2023年6月15日
    00
  • 基于Java回顾之JDBC的使用详解

    基于Java回顾之JDBC的使用详解 1. 什么是JDBC JDBC是Java DataBase Connectivity的缩写,它是用于Java语言操作关系型数据库的应用程序接口(API)。JDBC提供了一种标准的方法,用于连接和操作各种类型的关系型数据库。 JDBC规范定义了一套Java类库,通过这些类库,我们可以在Java程序中使用SQL命令执行各种数…

    Java 2023年5月19日
    00
  • 详解Spring Boot 项目中的 parent

    SpringBoot项目中的parent,也叫做父项目,是SpringBoot提供的一种依赖管理的方式,目的是方便项目的版本管理和依赖升级。在Maven或Gradle中,通过在我们的项目中声明一个父项目,再由父项目来管理依赖和版本号,从而简化我们的构建配置和管理流程。 Maven中的parent 在Maven中,我们可以将SpringBoot的parent设…

    Java 2023年5月15日
    00
  • Java中的异常处理如何提高程序可扩展性?

    Java中的异常处理可以提高程序的可扩展性,因为它能够帮助程序员对程序的异常情况进行处理,并且使程序在处理异常时更加稳定和健壮。下面给出Java中异常处理的完整攻略: 异常概述 在Java中,异常是指在程序执行期间出现的不正常情况,比如说空指针引用、数组越界、除数为0等,这些异常情况将导致程序的崩溃或者是产生错误的结果。为了应对这些异常情况,Java提供了异…

    Java 2023年4月27日
    00
合作推广
合作推广
分享本页
返回顶部