首页 > 其他分享 >写一个方法验证中国公民身份证格式是否正确

写一个方法验证中国公民身份证格式是否正确

时间:2024-12-17 09:52:54浏览次数:7  
标签:const 号码 验证 身份证 格式 id

在前端开发中,验证中国公民身份证格式是否正确通常涉及到对身份证号码的格式和校验码进行校验。以下是一个简单的JavaScript方法,用于验证身份证号码的格式是否正确:

function isValidChineseID(id) {
    if (id.length !== 18) {
        return false;
    }

    // 正则表达式验证身份证前17位是否为数字,最后一位可以为数字或X
    const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9]|X)$/;
    if (!reg.test(id)) {
        return false;
    }

    // 校验最后一位校验码
    const factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; // 权重因子
    const parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; // 校验码对应值
    let sum = 0;
    let index;
    for (let i = 0; i < id.length - 1; i++) {
        index = id[i] - '0';
        sum += index * factor[i];
    }
    if (parity[sum % 11] !== id[17].toUpperCase()) {
        return false;
    }

    return true;
}

这个方法首先检查身份证号码的长度是否为18位。然后,它使用正则表达式来验证身份证号码的前17位是否为数字,以及最后一位是否为数字或'X'。最后,它使用ISO 7064:1983.MOD 11-2校验规则来验证最后一位校验码是否正确。

你可以在你的前端代码中使用这个方法,如下所示:

const idNumber = '你的身份证号码';
if (isValidChineseID(idNumber)) {
    console.log('身份证号码格式正确');
} else {
    console.log('身份证号码格式不正确');
}

标签:const,号码,验证,身份证,格式,id
From: https://www.cnblogs.com/ai888/p/18611670

相关文章

  • 【数据分享】2008-2023年我国省市县三级的逐日NO2数据(免费获取\excel\shp格式)
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐日PM2.5数据、2000-2023年的省市县三级的逐日PM10数据、2013-2023年的省市县三级的逐日SO2数据和2000-2023年省市县三级的逐日O3数据(可查看之前的文章获悉详情)!本次我们分享的是......
  • JavaWeb-2 Ajax以JSON格式访问Servlet
    1.客户端代码1<!DOCTYPEhtml>2<html>3<head>4<metacharset="UTF-8">5<title>Bootstrap实例-水平表单</title>6<linkrel="stylesheet"type="text/css"href="./css/boo......
  • sumo——相关地图文件格式转换
    netconvertxodr转net.xml格式使用netconvert命令转换netconvert--opendrive-filescaoyang.xodr-ocaoyang.net.xml使用工具类将caoyang.net.xml转caoyang.geojsonpackagecom.ys.test.netxml_to_geojson;importorg.w3c.dom.*;importjavax.xml.parsers.*;impor......
  • 使用 JavaScript 进行验证码图片识别
    我们可以使用Node.js环境下的一些库来进行验证码的图像处理和识别,常用的库有sharp(图像处理)和tesseract.js(OCR文字识别)。以下是一个实现验证码识别的基本示例。安装依赖首先,确保你已经安装了Node.js和npm(Node包管理器)。然后在项目目录中安装所需的库:bashnpminit-yn......
  • 使用 Python 进行验证码图片识别
    首先,我们需要安装以下Python库:Pillow:用于图像处理。pytesseract:用于OCR(文字识别)。安装依赖你可以通过以下命令来安装必要的库:更多内容访问ttocr.com或联系1436423940bashpipinstallpillowpytesseract此外,pytesseract依赖于TesseractOCR引擎,确保你已经安装了Tess......
  • C# 实现验证码图片识别示例
    首先,你需要安装Emgu.CV库,这可以通过NuGet包管理器来安装。在VisualStudio中安装:打开NuGet包管理器,搜索Emgu.CV,然后点击安装。安装完成后,我们可以开始编写代码。csharpusingSystem;usingSystem.Drawing;usingEmgu.CV;usingEmgu.CV.Structure;usingEmgu.CV......
  • 题海拾贝:LCR018.验证回文串
               Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:<但凡.我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》欢迎点赞,关注!1、题目2、2、题解         这个题如果没有空格和符号的话,那就直接双指......
  • 在PbootCMS中遇到“帐号格式不正确,请输入正确的邮箱帐号!”的错误如何解决?
    在PbootCMS中,会员注册过程中有时会遇到“帐号格式不正确,请输入正确的邮箱帐号!”的错误提示。这个问题通常是由于邮箱地址中包含了一些特殊符号,而PbootCMS默认的正则校验规则没有考虑到这些情况。以下是一些解决方法:更换邮箱地址:最简单的方法是更换一个不包含特殊符号的邮箱地......
  • 如何在PbootCMS中增加允许上传的文件类型,例如WebP和MOV格式?
    在PbootCMS中,默认情况下允许上传的文件类型是有限的,可能不包括一些非常见的文件格式,如WebP和MOV。为了扩展允许上传的文件类型,您需要修改PbootCMS的配置文件。以下是详细的操作步骤和注意事项:修改PbootCMS主配置文件:打开位于 /config/config.php 的配置文件。找到并修改 ......
  • LeetCode题练习与总结:验证 IP 地址--468
    一、题目描述给定一个字符串 queryIP。如果是有效的IPv4地址,返回 "IPv4" ;如果是有效的IPv6地址,返回 "IPv6" ;如果不是上述类型的IP地址,返回 "Neither" 。有效的IPv4地址 是 “x1.x2.x3.x4” 形式的IP地址。其中 0<=xi <=255 且 xi 不能包含 前导零......