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

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

  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日

相关文章

  • Mybatis plus多租户方案的实战踩坑记录

    Mybatis plus多租户方案的实战踩坑记录 什么是多租户 多租户,即多租户架构,是一种软件架构模式,指的是多个客户(租户)共用相同的软件应用系统、数据库和服务器等资源,并且每个租户数据是彼此独立,系统中一个租户的数据不能被其他租户访问。 Mybatis plus多租户 Mybatis plus是Mybatis的增强版,提供了多租户的支持,可以通过配置自…

    Java 2023年6月16日
    00
  • Java agent 使用实例详解

    Java agent 使用实例详解 Java agent 是 Java 虚拟机提供的一种高级功能,是实现 JVM 监控和动态修改字节码的重要手段。在本文中,我们将详细讲解 Java agent 的使用方法,帮助读者能够更好的理解和应用该技术。 什么是 Java agent Java agent 实际上就是一个 Java 程序,在 JVM 启动时通过启动参数指…

    Java 2023年5月26日
    00
  • Java String类的常用方法汇总

    Java String类的常用方法汇总 String类概述 Java中的String类是用于操作字符串的常用类。其本质上是一个不可变的字符序列,也就是说,一旦创建了一个String对象,就无法再对其进行修改。 常用方法汇总 在日常开发中,String类的常用方法如下: 1. 字符串比较 equals(Object obj):比较两个字符串是否相等,区分大小写…

    Java 2023年5月26日
    00
  • Java计算两个日期时间之间的天数最简方法

    下面是详细讲解“Java计算两个日期时间之间的天数最简方法”的完整攻略。 标题 Java计算两个日期时间之间的天数最简方法 问题描述 在Java中,我们需要计算两个日期时间之间的天数,比如计算两个日期时间之间相差的天数,或者计算距离某个日期多少天后的日期。那么,有没有一种简单的方法来计算呢? 解决方案 Java中有一个内置的DateTime类,可以用来代表一…

    Java 2023年5月20日
    00
  • java获取两个数组中不同数据的方法

    下面是讲解“java获取两个数组中不同数据的方法”的攻略: 概述 有时候,我们需要比较两个数组,找出它们中的不同数据。Java中有多种方式可以实现这个目的,例如使用循环遍历、使用Set集合、使用Stream API等等。接下来,我们将逐一介绍这些方法的使用,同时给出示例说明。 方法一:循环遍历法 这种方法时常使用,它需要用到两个嵌套循环来比较两个数组中的每一…

    Java 2023年5月26日
    00
  • 项目启动tomcat失败的几种可能原因和解决方法(小结)

    下面我将详细讲解“项目启动Tomcat失败的几种可能原因和解决方法(小结)”的完整攻略。 项目启动Tomcat失败的几种可能原因和解决方法(小结) 1. 端口占用 如果当前端口被其他程序占用,启动Tomcat将会失败。可以通过以下方式查看当前端口占用情况: # Windows 系统 netstat -ano | findstr 端口号 # Linux/Mac…

    Java 2023年5月19日
    00
  • asp.net中几种常用的身份验证方法总结

    当用户使用你的网站时,通常需要进行身份验证,以保护用户数据和提供更好的用户体验。ASP.NET 提供了几种身份验证方法,包括基于表单的身份验证、基于 Windows 的身份验证和第三方授权身份验证。本篇攻略将对这些身份验证方法进行总结和详细讲解。 1. 基于表单的身份验证 基于表单的身份验证是 ASP.NET 中最常用的身份验证方法之一。它可以通过简单的 H…

    Java 2023年6月16日
    00
  • Java使用jdbc连接MySQL数据库实例分析

    Java使用JDBC连接MySQL数据库实例分析 JDBC(Java Database Connectivity)是Java数据库开发的基石,通过JDBC,Java开发者可以通过简单易用的API连接各种关系型数据库,MySQL当然是其中之一。本文将介绍如何使用JDBC连接MySQL数据库。 步骤一:下载并安装MySQL数据库 在官网上下载MySQL Comm…

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