`
bwlcool
  • 浏览: 20502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

正则表达式判断身份证和提取生日

    博客分类:
  • java
阅读更多
public class IDCardUtil {

	public static boolean isValidIdCard(String idCard) {

		if (idCard == null) {
			return false;
		}

		Pattern p = Pattern.compile("(\\d{17}[0-9a-zA-Z]|\\d{14}[0-9a-zA-Z])");

		return p.matcher(idCard).matches();
	}

	public static String getBirthday(String idCard) {
		if (idCard == null) {
			return null;
		}
		Pattern p1 = Pattern.compile("\\d{6}(\\d{8}).*"); // 用于提取出生日字符串
		Pattern p2 = Pattern.compile("(\\d{4})(\\d{2})(\\d{2})");// 用于将生日字符串进行分解为年月日

		Matcher matcher = p1.matcher(idCard);
		if (matcher.find()) {
			String birthday = matcher.group(1);
			Matcher matcher2 = p2.matcher(birthday);
			if (matcher2.find()) {
				StringBuilder sb = new StringBuilder();
				sb.append(matcher2.group(1));
				sb.append('-');
				sb.append(matcher2.group(2));
				sb.append('-');
				sb.append(matcher2.group(3));
				return sb.toString();
			}
		}

		return null;
	}
}



分享到:
评论

相关推荐

    dephi正则表达式验证例子

    在Delphi编程环境中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换或提取符合特定模式的字符串。TPerlRegEx控件是Delphi中实现正则表达式的组件,它基于Perl语言的正则表达式引擎,提供丰富的功能来...

    Linux shell编程 验证身份证号码(15/18)

    通过一系列逻辑判断和数学运算,确保了身份证号码的真实性,并能够解析出性别、出生日期和地址信息。 #### 脚本组成部分: - **Part0**: 数据初始化,定义数据库文件名`AreaDB.1st`和`AreaDB.2nd`用于后续地址信息...

    使用php实现从身份证中提取生日

    用php从身份证中提取生日,包括15位和18位身份证 function getIDCardInfo($IDCard,$format=1){ $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 $result['flag']='';//0标示成年,1标示未成年 $...

    核心基础-根据身份证号判断所属省份、生日及性别-Python源码示例.zip

    Python中可以使用字符串切片、正则表达式等方法来提取身份证号码中的信息。例如,通过索引获取特定位置的字符,或者使用正则表达式匹配特定模式(如出生日期格式)。 3. **日期处理**: Python的`datetime`模块...

    asp根据身份证号自动识别显示生日

    通常,这样的代码会包含一个或多个函数,用于处理身份证号码的字符串操作,例如使用字符串切割或正则表达式来获取出生日期,然后将结果显示在HTML页面上。 下面是一个简单的ASP示例代码,演示如何实现这个功能: `...

    从盛大通行证上摘下来的身份证验证js代码.docx

    此外,文档中还提到了一些相关的JavaScript身份证验证函数,这些函数可能具有类似的功能,例如支持带x的身份证号码验证,判断输入是否为中文、数字或身份证,以及获取性别、生日等信息。这些辅助函数可以帮助开发者...

    Java笔试题

    本文档通过具体的示例代码介绍了两个关键的知识点:一是如何利用正则表达式验证身份证号码的有效性,并从中提取出生日期;二是如何进行文件操作和文本处理,包括从文件中读取数据、处理字符串并写入新文件。这些知识...

    JS身份证验证性别和出生日期

    根据提供的文件信息,我们可以整理出一个关于如何使用JavaScript(简称JS)进行身份证验证的方法,特别是对性别和出生日期的提取。下面将详细解释这个过程。 ### JS身份证验证性别和出生日期 #### 一、背景介绍 在...

    PHP 验证身份证是否合法的函数

    2. 身份证号码格式验证:使用正则表达式来验证身份证号码是否符合其基本的长度和字符组成规则。对于15位号码,正则表达式为 "/(^\d{15}$)/";对于18位号码,正则表达式为 "/(^\d{17}([0-9]|X)$)/"。如果身份证号码不...

    php提取身份证号码中的生日日期以及验证是否为成年人的函数

    - 函数通过 eregi 函数检查输入的身份证号码是否符合一定的正则表达式模式,从而验证身份证号码的合法性。 6. 身份证号码中隐含的信息: - 18位身份证号码的第17位表示性别,奇数为男性,偶数为女性。 - 15位...

    java开发施展经典习题答案完整版

    4. **正则表达式**:用于字符串模式匹配,提取身份证中的生日等操作。 #### 六、综合应用题 1. **图书类的操作**:通过定义图书类来管理图书的创建、编号和总册数。 2. **数组操作**:对数组进行各种操作,如筛选、...

    java开发实战经典课后练习及答案.docx

    正则表达式的应用是 Java 字符串处理的高级内容,如身份证号中的生日提取,这要求开发者不仅要懂得字符串的处理,还要了解正则表达式的语法和使用场景。 ### 四、面向对象编程 面向对象编程(OOP)是 Java 最核心...

    验证身份证是否合法

    具体来说,可以通过正则表达式`/^\d{17}(\d|x)$/i`来检查输入的字符串是否符合该格式。 #### 身份证归属地验证 身份证的前六位数字代表了持证人的户籍所在地,其中前两位数字表示省级行政区。在给定的代码片段中,...

    java 开发实战经典 习题答案 java

    18. **正则表达式**:从身份证号中提取生日,需要了解正则表达式的基本语法。 19. **面向对象编程**:设计图书类,包含书名、编号(自动编号)、书价,以及统计图书总数的静态变量。这涉及到类的设计、构造函数、...

    js验证用户名. JS初学者demo

    - **身份证号码验证**:`function isIdCardNo(num)` 用于验证一个字符串是否符合中国大陆身份证号码的格式要求,包括15位和18位两种情况,并检查生日部分是否合法。 #### 5. 浏览器信息获取 - **获取浏览器名称**...

Global site tag (gtag.js) - Google Analytics