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日

相关文章

  • JDBCTM 指南:入门3 – DriverManager

    下面是详细讲解“JDBCTM 指南:入门3 – DriverManager”的完整攻略。 JDBCTM 指南:入门3 – DriverManager 在本文中,我们将介绍JDBC中的DriverManager类,它是Java SQL API的一个基本组件,用于管理数据库驱动程序。 什么是 DriverManager DriverManager是Java提供的…

    Java 2023年6月16日
    00
  • JavaWeb开发之模仿知乎首页完整代码

    JavaWeb开发之模仿知乎首页完整代码的攻略大致可以分为以下步骤: 1. 学习HTML和CSS 在开始JavaWeb开发前,首先需要学习HTML和CSS等前端技术。HTML作为网站的骨架,负责网页结构的搭建,而CSS则负责网页的样式和布局。了解这些内容可以为后续的JavaWeb开发提供很好的基础。 2. 学习JavaWeb基础知识 JavaWeb开发需要涉…

    Java 2023年5月30日
    00
  • 使用Bootstrap Tabs选项卡Ajax加载数据实现

    使用Bootstrap Tabs选项卡Ajax加载数据实现,是一个常见的前端技术组合。其主要流程如下: 在页面上创建Bootstrap Tabs选项卡结构,即一个ul列表和多个对应的div内容区域。 在每个内容区域中预留一个空div,用于接收Ajax加载后的数据,同时在ul列表中对应的li标签中添加数据源链接。 当用户点击对应li标签时,通过Ajax从后台获…

    Java 2023年6月15日
    00
  • Java解析Excel文件并把数据存入数据库

    关于如何用Java解析Excel文件并把数据存入数据库,下面提供一份完整的攻略供你参考。 准备工作 在开始操作之前,需要你先准备好以下工具和环境: JDK:Java开发环境。你可以从Oracle官网上下载安装最新版的JDK。 MySQL:数据库系统。你可以根据需要安装在本地或者使用云服务商提供的MySQL服务。 Apache POI:用于操作Excel文件的…

    Java 2023年5月19日
    00
  • Springboot通过配置WebMvcConfig处理Cors非同源访问跨域问题

    下面是详细的讲解。 什么是跨域? 跨域是指在浏览器的同源策略下,一个页面的脚本(包括JavaScript、Ajax等)访问另一个页面的数据时,出现了协议、域名或端口号不同的情况。如果不做任何处理,浏览器会阻止跨域请求,会产生“跨域问题”。 跨域解决方案 在前后端分离的项目中,开发人员经常会遇到跨域问题。解决跨域问题的方法很多,其中一种是使用CORS(跨域资源…

    Java 2023年5月23日
    00
  • Java中如何计算一段程序的运行时间

    计算一段程序的运行时间,通常可以使用Java中的System.currentTimeMillis()方法来实现。具体步骤如下: 在程序的开始处,调用System.currentTimeMillis()方法记录下当前时间值。 long startTime = System.currentTimeMillis(); 在程序的结束处,再次调用System.curr…

    Java 2023年5月20日
    00
  • 小伙熬夜用Java重现经典超级马里奥代码实例

    下面我来详细讲解“小伙熬夜用Java重现经典超级马里奥代码实例”的完整攻略。 1. 准备工作 首先,我们需要准备一些工具和环境。 1.1 编程语言本次重现经典超级马里奥代码的编程语言为Java,所以我们需要先安装JDK并配置好环境变量。 1.2 IDEIDE是开发Java程序必不可少的,选择一款自己喜欢的IDE,比如Eclipse或者IntelliJ IDE…

    Java 2023年5月23日
    00
  • NodeJS实现不可逆加密与密码密文保存的方法

    下面是“NodeJS实现不可逆加密与密码密文保存的方法”的完整攻略。 1. 什么是不可逆加密 不可逆加密(也称哈希函数)是一种将任意长度的输入(一般是明文)通过哈希算法变换成固定长度的输出(一般是密文)的方法,它的特点是不可逆性、唯一性、固定性、散列值分布性等,常用于实现密码的密文保存。 2. NodeJS中的常见哈希函数 在NodeJS中,常见的哈希函数包…

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