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日

相关文章

  • 详解web存储中的storage

    详解Web存储中的Storage 一、Storage简介 Storage是Web API的一部分,提供了在浏览器本地存储数据的功能。Storage分为两种类型:localStorage和sessionStorage。 localStorage和sessionStorage的区别在于,localStorage中存储的数据没有时间限制,除非用户手动删除;而ses…

    Java 2023年6月15日
    00
  • sql文件怎么打开,SQL格式是什么文件?

    SQL(Structured Query Language)是一种专为管理关系数据库管理系统(RDBMS)而创建的语言。SQL文件是SQL语句的文本文件,由SQL语句组成,通常保存为.sql文件扩展名。 要打开SQL文件,可以使用文本编辑器,也可以使用专门的数据库管理软件(如MySQL Workbench、Navicat等)。在文本编辑器中打开SQL文件,可…

    Java 2023年6月16日
    00
  • java实现建造者模式(Builder Pattern)

    下面我就详细讲解一下“Java实现建造者模式(Builder Pattern)”的完整攻略。 什么是建造者模式? 建造者模式是一种对象创建型设计模式,它允许你创建不同风格的对象,同时避免构造器污染问题。在该模式中,我们将构造过程分步进行,使得在创建对象时能够更加灵活地控制每个构造步骤,从而创建不同类型的对象。 建造者模式的角色 建造者模式中有以下几个角色: …

    Java 2023年5月18日
    00
  • Spring Security如何为用户示例添加角色详解

    为用户添加角色是 Spring Security 中常见的安全认证需求之一,下面是 Spring Security 如何为用户添加角色的完整攻略。 1. 添加角色 在 Spring Security 中,我们可以通过给用户添加角色来实现安全认证。为了演示,我们通过以下两个示例来说明: 1.1 示例1:自定义用户角色 我们首先需要定义一个用户角色,并将其作为权…

    Java 2023年5月20日
    00
  • 利用ECharts.js画K线图的方法示例

    下面是关于“利用ECharts.js画K线图的方法示例”的完整攻略。 什么是K线图 K线图是一种专业股票分析图表,它能够充分反映出股票市场的交易情况和趋势走势。K线图是由四个价格点构成的,包括开盘价、收盘价、最高价和最低价,每个价格点都用线条或实体块来表示。 使用ECharts.js绘制K线图 ECharts.js是一款非常强大的JavaScript图表库,…

    Java 2023年6月15日
    00
  • Java中的UnsupportedOperationException是什么?

    UnsupportedOperationException UnsupportedOperationException 是 java.lang 包中的一个异常,通常表示不支持或未实现某个方法或操作。当你调用某个方法或操作时,如果该方法或操作在当前环境下不支持或未被实现,则会抛出该异常。 一般情况下,我们会在以下情况下遇到 UnsupportedOperati…

    Java 2023年4月27日
    00
  • 北邮考研复试C语言上机题目精选

    北邮考研复试C语言上机题目精选攻略 基本情况 北邮考研复试C语言上机题目共有5道,考核面广,涉及到C语言各个方面,需要考生对C语言的基础知识和实际应用都有一定的掌握。 准备工作 在参加北邮考研复试C语言上机题目考试之前,需要考生准备好以下内容: 一台已经配置好编程环境的电脑。 熟悉基本的C语言语法和编程技巧:控制语句、函数、指针、数组、结构体等。 练习写C语…

    Java 2023年5月19日
    00
  • Java web实现简单注册功能

    实现一个简单的Java web注册功能需要涉及到以下步骤: 创建数据表 首先需要在数据库中创建一个用户信息表,其中包括用户名和密码等基本信息。 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` va…

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