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

Java实现身份证号码的验证,JAVA后台验证身份证号码

 
阅读更多

代码如下:

package cn.gov.csrc.util;

/**
 * 18 位身份证验证器
 * 
 * @author admin
 * 
 */
public class IDCard {

	final int[] wi = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };
	final int[] vi = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };
	private int[] ai = new int[18];

	public IDCard() {
	}

	public boolean Verify(String idcard) {
		if (idcard.length() == 15) {
			idcard = uptoeighteen(idcard);
		}
		if (idcard.length() != 18) {
			return false;
		}
		String verify = idcard.substring(17, 18);
		if (verify.equals(getVerify(idcard))) {
			return true;
		}
		return false;
	}

	public String getVerify(String eightcardid) {
		int remaining = 0;

		if (eightcardid.length() == 18) {
			eightcardid = eightcardid.substring(0, 17);
		}

		if (eightcardid.length() == 17) {
			int sum = 0;
			for (int i = 0; i < 17; i++) {
				String k = eightcardid.substring(i, i + 1);
				ai[i] = Integer.parseInt(k);
			}

			for (int i = 0; i < 17; i++) {
				sum = sum + wi[i] * ai[i];
			}
			remaining = sum % 11;
		}

		return remaining == 2 ? "X" : String.valueOf(vi[remaining]);
	}

	public String uptoeighteen(String fifteencardid) {
		String eightcardid = fifteencardid.substring(0, 6);
		eightcardid = eightcardid + "19";
		eightcardid = eightcardid + fifteencardid.substring(6, 15);
		eightcardid = eightcardid + getVerify(eightcardid);
		return eightcardid;
	}

	public static void main(String[] args) {
		String idcard1 = "350211197607142059";
		String idcard2 = "350211197607442059";
		String idcard3 = "140222198911060538";

		IDCard idcard = new IDCard();
		System.out.println(idcard.Verify(idcard1));
		System.out.println(idcard.Verify(idcard2));
		System.out.println(idcard.Verify(idcard3));
	}
}


分享到:
评论

相关推荐

    一个 java 校验身份证号码的,很强的

    标题中的“一个 Java 校验身份证号码的,很强的”指的是使用 Java 语言编写的身份验证工具,用于检查中国大陆居民的身份证号码(身份证18位)的合法性。在 Java 开发中,这样的工具可以帮助程序员快速验证输入数据的...

    JAVA+jsp身份证验证的合法性

    在Java中,我们可以创建一个方法来验证身份证号码的合法性。这个方法通常包括以下几个步骤: 1. **长度检查**:确保输入的身份证号码长度为18位。 2. **地址码检查**:根据前6位数字判断是否对应我国的行政区划代码...

    腾讯身份证验证人脸识别代码java实例

    5. **Java实例**:`FaceRecognitionService.java` 文件很可能是一个实现了腾讯AI身份证验证和人脸识别功能的Java类。在Java编程中,类是组织代码的基本单元,此类可能包含调用腾讯AI接口的方法,处理请求、解析响应...

    struts2+ajax 无刷新验证身份证号是否已注册,身份证号是否正确

    ### Struts2 + AJAX 实现无刷新验证身份证号是否已注册及正确性的技术解析 #### 一、背景介绍 在Web应用开发中,确保用户输入数据的有效性和安全性是非常重要的环节。尤其是在涉及到敏感信息如身份证号时,需要...

    身份证号查询、复合条件查询,增删改查信息管理系统

    这是一个基于Java Swing和MySQL数据库构建的信息管理系统,专为身份证号码查询和复合条件查询设计。系统提供了数据的增、删、改、查等基础操作,适用于需要处理个人信息的多种场景,如人力资源管理、会员管理等。...

    构件实验源码(IDcard、通用查询)

    在Java中,可以编写一个类来验证身份证号码的合法性,通过正则表达式检查其格式,并使用相关算法计算校验码以确认号码正确。此外,这个功能可能还涉及对身份证信息的解析,如从身份证号码中提取出生日期和性别。 接...

    Java+jsp ATM网站设计实现 JavaWeb期末实践作业

    在这个项目中,Java可能用于实现上述的所有后台功能,如用户验证、数据库操作等。 - **JSP (JavaServer Pages)**:JSP是Java的一种动态网页技术,允许在HTML中嵌入Java代码,用于生成动态网页内容。在ATM应用中,...

    用Java实现的一个模拟的银行系统

    在本项目中,"用Java实现的一个模拟的银行系统"是一个基于Java编程语言构建的银行管理系统,它旨在演示和实践银行的核心业务流程。这个系统涵盖了银行日常操作中的关键功能,如开户、存款、取款和转账。以下是这些...

    java后台常见操作jar库.rar

    库中可能包含各种字符串验证方法,如检查邮箱格式、电话号码格式、身份证号有效性等,确保数据的准确性和合法性。 4. **进制操作工具**:进制转换在计算机科学中非常常见,例如二进制、八进制、十进制和十六进制...

    Android源码——查询软件源代码(身份证号,号码归属等).zip

    - 身份证号码的验证通常需要使用正则表达式,检查号码格式是否符合国家标准。 - 号码归属地查询可能涉及网络请求,获取到的数据通常是JSON格式,需要使用Gson或Jackson库进行解析。 **3. 网络请求** - Android中...

    移动警务查询系统前台和后台部分,JAVA

    同时,后台可能会实现身份验证和授权机制,如OAuth2.0或JWT,确保只有经过认证的警务人员才能访问系统。 此外,考虑到移动设备的特性和网络环境的不稳定,系统可能还需要实现离线缓存功能,允许警务人员在无网络...

    ajax+jsp经典实例

    本实例主要讲解如何利用Ajax技术与JSP配合,实现实时验证用户输入的身份证号码的有效性。 **一、Ajax简介** Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器交换数据并局部...

    二代身份证读卡器PB9二次开发demo,采用USB接口方式输出

    在IT行业中,身份证读卡器是一种常见的硬件设备,主要用于读取和验证第二代居民身份证的信息。二代身份证读卡器PB9是一款专为此目的设计的产品,它具有强大的数据处理能力和便捷的USB接口,使得与计算机或其他设备的...

    java 银行管理系统

    这个系统主要针对本科层次的学生,作为软件工程课程的实践作业,帮助学生掌握Java GUI(图形用户界面)设计与实现、数据库管理和银行业务逻辑的编程技能。 【描述】:该系统主要包括用户登录和注册功能,以及管理员...

    java的 系统 酒店管理

    Java可以实现后台逻辑,如生成入住单、计算住宿费用、处理押金和退款等。在处理费用时,可能需要用到计算公式,Java的数学库提供必要的支持。同时,退房后,系统应更新房间状态,以便再次出租。 除此之外,系统还...

    Java工资管理系统

    4. **数据验证**:为了保证数据的准确性,系统在接收到用户输入后,会进行数据验证,例如检查输入的工资是否为有效数字,身份证号码格式是否正确等。 5. **异常处理**:Java中的try-catch语句块用于捕获和处理可能...

    火车票售票管理系统(java+script+sqlservlet)

    它可以验证用户输入,比如检查邮箱格式、身份证号码合法性等,减少无效请求对服务器的压力。同时,JavaScript还可以实现动态效果,如时间选择器、下拉菜单动画等,提高用户的操作体验。 HTML(HyperText Markup ...

    基于jsp的酒店后台系统的设计与实现-含源码.rar

    2. 入住人信息管理:系统提供录入、查看和修改入住人信息的功能,支持身份证验证和联系方式验证,确保客人信息的准确性,为提供个性化服务提供数据支持。 3. 客房信息管理:涵盖客房的基本信息如房号、类型、价格等...

    旅游公司旅客订单管理程序[JAVA].rar

    此外,可能还涉及到数据库技术,如使用SQL进行数据操作,以及使用JDBC(Java Database Connectivity)进行数据库连接,以实现与后台数据库的交互。 总的来说,“旅游公司旅客订单管理程序[JAVA]”是JAVA语言在旅游...

    客户端javascript验证新模式.

    - **身份证验证**:验证中国身份证号码的合法性,通常需要更复杂的算法。 此外,还有其他功能类的JavaScript代码,如: - **时间与相关控件**:包括日历、时间控件、万年历等。 - **表单动态操作**:自动生成表单...

Global site tag (gtag.js) - Google Analytics