身份证号的正则表达式怎么写

devtools/2024/11/9 17:08:53/

在中国,一个标准的身份证号(通常是18位,但也有旧式的15位)包含数字和可能的校验码(X代表数字10)。下面是一个用于匹配这两种格式的正则表达式:

对于18位身份证号(包括X作为校验码):

javascript">const idCardRegex = /^[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}(\d|X|x)$/;

这个正则表达式的解释如下:

  • ^[1-9]\d{5}:前6位数字,第1位不能为0。
  • (18|19|20)\d{2}:年份,可以是18xx、19xx或20xx。
  • ((0[1-9])|(10|11|12)):月份,可以是01-12。
  • (([0-2][1-9])|10|20|30|31):日期,可以是01-31(注意:这里没有考虑每个月的实际天数,只是一个简单的匹配)。
  • \d{3}:顺序码,3位数字。
  • (\d|X|x)$:校验码,可以是0-9的数字或X/x。

但请注意,这个正则表达式并没有完全验证身份证号的合法性,只是简单地匹配了格式。真正的身份证号验证还需要进行更复杂的校验码计算。

如果你需要更完整的验证(包括校验码的计算),你可能需要编写一个更复杂的函数,而不是仅仅使用正则表达式。

 


http://www.ppmy.cn/devtools/45132.html

相关文章

Facebook企业户使用Facebook广告进行推广的优势!

随着互联网技术的飞速发展,社交媒体已经成为了人们生活中不可或缺的一部分。而其中,Facebook作为全球最大的社交平台之一,不仅提供了丰富的社交功能,还成为了众多企业进行数字营销的重要平台之一。其中,Facebook广告作…

IService 接口中定义的常用方法

文心一言生成 以下是一些 IService 接口中定义的常用方法(以你提供的 UserSQL 类为例,该类继承自 ServiceImpl,因此也会拥有这些方法): 插入(新增) boolean save(T entity): 插入一条记录&…

python基础(习题、资料)

免费提取资料: 练习、资料免费提取。持续更新迅雷云盘https://pan.xunlei.com/s/VNz6kH1EXQtK8j-wwwz_c0k8A1?pwdrj2x# 本文为Python的进阶知识合辑,包括列表(List)、元组(Tuple)、字典(Dic…

Servlet

一、Servlet概念 1、Servlet是运行在 Java 服务器端的程序,用于接收和响应来自客户端基于 HTTP 协议的请求。 2、Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。SUN公司提供 3、核心方法:service(),任何客户…

计算机组成原理 第四章 存储器 Part 4 高速缓存存储器

由于程序的转移概率不会很低,数据分布的离散性较大,所以单纯依靠并行主存系统提高主存系统的频宽是有限的。这就必须从系统结构上进行改进,即采用存储体系。 ​ 通常将存储系统分为“Cache-主存”层次和“主存-辅存”层次。 1.概述 如何避免…

【数据结构】详解二叉树

文章目录 1.树的结构及概念1.1树的概念1.2树的相关结构概念1.3树的表示1.4树在实际中的应用 2.二叉树的结构及概念2.1二叉树的概念2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3 二叉树的性质2.4二叉树的存储结构2.4.1顺序结构2.4.2链表结构 1.树的结构及概念 1.1树的概念…

服务器硬件基础知识

服务器硬件基础知识涵盖了多个关键组件及其功能,以下是详细的分点表示和归纳: 1. 中央处理器(CPU) 功能:执行计算和处理数据。重要因素:核心数、频率、缓存大小。厂商:Intel、AMD等。选购指南…

Golang协程和通道

文章目录 协程(goroutine)基本介绍GMP模型协程间共享变量 通道(channel)基本介绍channel的定义方式channel的读写channel的关闭channel的遍历方式只读/只写channelchannel最佳案例select语句 协程(goroutine&#xff0…