我们在制作在线注册时难免用到身份证号码这个属性,为了避免用户随意输入,我们还是要明白身份证编制规则,可以一定程度阻止非法信息,本文是以教学和网络应用为目的的说明。
首先说说我国居民身份号码证号码(18位)编制原则,首6位是出生地区编码,分别是省份编码2位+城市编码2位+区县编码2位。接下来的8位是生日编码采取4位年2位月和2位日。接下来的3位编码是随机编码,自然人出生后在公安机关注册时的随机编码。这17位编码是有意义编码,而最后一位是校验位,有11种,就是0~9和X。
明白原理后就好办了,有意义数字是确定的,校验位肯定是算出来的。算法规则是加权平均求值,也就是前17位数字每位上有一个权值,用确定的17位数字每位和对应的权值相乘再求和得出加权数。加权数对11求模,得到的就是校验码。
知道这些后就需要知道权值了,每位的权值如下规定:{ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,8, 4, 2 },校验码排列规则是:{ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 }。
有了这些,我们得到如下程序代码:
public class idcard {
private static int[] weight = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,
8, 4, 2 };
private static int[] check = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };
public static String checkCode(String idno17) {
String checkCode = null;
// 1.S=sum(ai*wi)
int sum = 0;
for (int i = 0; i < 17; i++) {
sum += Integer.parseInt(idno17.substring(i, i + 1)) * weight[i];
}
// 2.y=mod(s,11)
int mod = sum % 11;
checkCode = mod == 2 ? "X" : String.valueOf(check[mod]);
return checkCode;
}
public static void main(String[] args) {
String idno = "";// 在这里添加身份证号的前17位
String check = idcard.checkCode(idno);
System.out.println(check);
}
}
地区编码可以在网上找到,这里就不列举出来了,如需使用,页面上可以利用Ajax技术进行实时校验反馈,希望对使用者有用。但不要用于其他不良行为。
分享到:
相关推荐
综上所述,这个身份证验证程序利用HTML和JavaScript技术实现了对用户输入的身份证号码的有效性检查,提供了良好的用户体验,并遵循了中国身份证号码的验证规则。对于前端开发人员来说,理解和掌握这些技术是至关重要...
在这里,你可以找到处理身份证验证逻辑的代码,比如使用正则表达式检查身份证号码的格式,或者调用特定的服务或API来验证身份证号码的真实性。 `from.gif`可能是一个图形文件,可能是表单中的一个图标或者指示性的...
在IT行业中,身份证号码验证是一项常见的需求,尤其是在用户注册、个人信息录入等场景。JavaScript(简称js)作为一种广泛使用的客户端脚本语言,非常适合用于此类实时验证。本文将深入探讨如何使用JavaScript来验证...
在Java编程中,验证身份证号码的校验码是否正确是一项常见的任务,特别是在处理个人信息时,如用户注册、信息录入等场景。本教程将深入探讨如何使用Java实现这一功能。 首先,我们需要了解身份证号码的基本结构。...
同时,为了保护用户隐私,验证身份证号码时不应直接显示完整的号码,而应进行脱敏处理,例如仅显示前6位和后4位。 总之,PHP验证身份证号码涉及字符串操作、正则表达式以及特定的数学算法。理解身份证号码的结构和...
在JavaScript中,身份证号验证是一个常见的需求,特别是在用户注册、个人信息填写等场景。这个`testCard`函数是用于验证输入的身份证号码是否有效的。函数接受一个参数`papersId`,即待验证的身份证号码字符串。 ...
4. **逻辑判断**:验证身份证号码时需要检查地区码是否存在,出生日期是否合理,顺序码和校验码是否正确。这些都需要通过一系列的条件语句(如“如果...则”)来实现。 5. **错误处理**:在验证过程中,可能遇到...
通过分析和理解这个身份证验证示例源码,开发者可以学习到如何在 ASP.NET 中进行数据验证、用户输入处理以及错误处理等重要技能,这对于构建更安全、更可靠的Web应用至关重要。同时,这也可以作为一个基础,进一步...
身份证号码验证是前端开发中常见的功能之一,特别是在涉及用户注册、个人信息填写等场景时尤为重要。下面将详细介绍如何利用JavaScript来验证身份证号码的有效性。 #### 身份证号码规则简介 身份证号码一般有两种...
### C++程序验证身份证号码的有效性 #### 一、程序功能概述 本程序的主要功能是通过C++语言来实现对身份证号码的有效性验证。...这种类型的验证在实际应用中非常常见,例如在用户注册、身份认证等场景中。
在IT行业中,身份证验证是许多应用场景中的重要环节,如用户注册、实名认证等。本项目"身份证验证器.zip"是一个基于C#编程语言开发的身份信息验证工具,它旨在帮助开发者快速实现对中国大陆居民身份证号码的合法性和...
总之,通过JavaScript处理身份证号码,我们可以轻松获取个人的基本信息,这在许多Web应用中都有实际的应用场景,例如在线报名、用户注册等。正确理解和使用这个压缩包中的方法,能帮助开发者高效地实现相关功能。
- 这种身份证验证算法常用于用户注册、个人信息录入等场景,以确保输入的身份信息准确无误,防止欺诈行为。 以上就是Java实现18位身份证格式验证算法的主要知识点,通过这些步骤,可以有效地检查输入的身份证号码...
在IT行业中,身份证验证是常见的身份验证手段,尤其是在开发涉及个人信息的系统时,如会员注册、实名认证等。在Java Web开发中,使用JSP(JavaServer Pages)结合Java后端逻辑,我们可以实现对身份证合法性的有效...
身份证验证是确保用户输入的有效身份证号码的关键步骤,这对于很多需要用户身份验证的场景非常重要,如注册、实名认证等。在中国,身份证号码由18位数字组成,分为以下几个部分: 1. 地区码:前6位,表示持证人户籍...
在实际应用中,`IdValidator`库可以广泛应用于用户注册、实名认证、支付验证等场景,确保用户输入的身份信息准确无误,从而提高系统的安全性和用户体验。 总结来说,`Go-IdValidator`是Go语言环境下用于验证中国...
总之,身份证验证在许多应用中都是一个关键环节,尤其是在用户注册、身份认证或数据录入等场景下,确保身份证信息的准确性和合法性至关重要。通过理解身份证的结构和验证规则,可以有效地提高系统的安全性和用户体验...
例如,在线注册、身份验证等场景中,系统可以通过读取用户的身份证号码来自动识别其所在地,从而提供更精准的服务或简化填写过程。 ### 结论 综上所述,通过分析身份证号码的结构及其组成部分,特别是前六位地区码...
在IT领域,身份证号码验证是常见且重要的功能之一,尤其是在涉及用户身份认证、年龄验证、地域分析等场景中。从给定的文件标题、描述、标签以及部分内容来看,该文件提供了一个JavaScript脚本,用于验证中国居民...