用户注册时身份证号码的验证

我们在制作在线注册时难免用到身份证号码这个属性,为了避免用户随意输入,我们还是要明白身份证编制规则,可以一定程度阻止非法信息,本文是以教学和网络应用为目的的说明。
首先说说我国居民身份号码证号码(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技术进行实时校验反馈,希望对使用者有用。但不要用于其他不良行为。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目:使用Spring Boot和Vue.js实现用户注册、登录和身份证验证功能 一、选题背景 随着互联网的发展,网上购物、在线支付、社交娱乐等活动已经成为人们生活中不可或缺的一部分。而在这些活动中,用户的注册、登录和身份验证是非常重要的环节,对于保护用户的个人信息和资产安全有着至关重要的作用。因此,如何实现安全、便捷、高效的用户注册、登录和身份验证功能成为了现代网络开发的重要问题。 二、选题意义 本次选题旨在通过使用Spring Boot和Vue.js两种技术,实现一套完整的用户注册、登录和身份验证功能。其中,Spring Boot作为后端技术,提供数据处理、业务逻辑和安全防护等功能,Vue.js作为前端技术,负责用户界面和用户交互等方面的开发。通过本次选题,旨在达到以下目的: 1. 学习Spring Boot和Vue.js的使用方法,掌握后端和前端开发的基本技能; 2. 了解用户注册、登录和身份验证的基本流程,提高对网络安全的认识; 3. 掌握开发一套完整的Web应用程序的方法,提高编程实践能力; 4. 提高团队协作和沟通能力,实现高效、快速地开发工作。 三、主要内容 本次选题的主要内容包括以下几个方面: 1. 用户注册功能:实现用户注册的功能,包括输入用户名、密码、确认密码、手机号码等信息,对用户输入进行校验,并将注册信息保存到数据库中。 2. 用户登录功能:实现用户登录的功能,包括输入用户名、密码等信息,对用户输入进行校验,验证成功后允许用户登录。 3. 身份证验证功能:实现对用户身份证号码的验证,包括身份证号码的长度、格式、生日和校验码等信息的检查,防止用户输入错误或者虚假信息。 4. 前端界面设计:使用Vue.js实现用户界面的设计,包括用户注册、登录和身份证验证等页面,以及相应的交互和动态效果。 5. 数据库设计与连接:使用MySQL作为数据库,设计相应的数据表结构,并使用Spring Boot连接数据库,实现数据的存储和读取。 6. 安全防护功能:使用Spring Boot提供的安全框架,对用户密码进行加密处理,防止密码泄露和被破解。 7. 其他辅助功能:包括用户密码找回、信息修改、数据备份等辅助功能的实现,提高用户体验和应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值