`
dyclh
  • 浏览: 50858 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

测试你的身份证号码最后一位,校验码的生成方式

    博客分类:
  • java
 
阅读更多
package com.inbuild;

public class Shengfenzheng {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		String s="441621*******421";//前17位的
		String[] ss=s.split("");
		int sum =0;
		int end =0;
		System.out.println("ss.length=="+ss.length);
		for(int i=1;i<18;i++){
			Integer num =0;
			try{
				num=Integer.parseInt(ss[i]);
				System.out.println("num==="+num);
			}catch(NumberFormatException e){}
			switch (i){
				case 1:sum=sum+num*7;break;
				case 2:sum=sum+num*9;break;
				case 3:sum=sum+num*10;break;
				case 4:sum=sum+num*5;break;
				case 5:sum=sum+num*8;break;
				case 6:sum=sum+num*4;break;
				case 7:sum=sum+num*2;break;
				case 8:sum=sum+num*1;break;
				case 9:sum=sum+num*6;break;
				case 10:sum=sum+num*3;break;
				case 11:sum=sum+num*7;break;
				case 12:sum=sum+num*9;break;
				case 13:sum=sum+num*10;break;
				case 14:sum=sum+num*5;break;
				case 15:sum=sum+num*8;break;
				case 16:sum=sum+num*4;break;
				case 17:sum=sum+num*2;break;

				
			
			}
			System.out.println(sum);
			
		}
		end=sum%11;
		String endstring="";
		switch (end){
			case 0:endstring="1";break;
			case 1:endstring="0";break;
			case 2:endstring="X";break;
			case 3:endstring="9";break;
			case 4:endstring="8";break;
			case 5:endstring="7";break;
			case 6:endstring="6";break;
			case 7:endstring="5";break;
			case 8:endstring="4";break;
			case 9:endstring="3";break;
			case 10:endstring="2";break;
	}
		System.out.println("您的身份证最后一位是:"+endstring);
		

	}

}

 

分享到:
评论

相关推荐

    JAVA 18位身份证号码校验码的算法

    5. 计算累加和`iS`对11取模的结果`iY`,这步是为了确定最后一位校验码的位置。 6. 根据`iY`的值,从`szVerCode`数组中取出对应的校验码字符,返回给调用者。 在提供的代码中,`doVerify`函数实现了上述的计算逻辑。...

    18位身份证校验位生成python代码

    基于python 2.7编写。使用例子: python genCheckNumber.py 40010019800101000 则会输出最后一位校验位。

    java实现的18位身份证格式验证算法

    - 中国18位身份证号码由17位数字和最后一位校验码组成。前6位代表地区代码,接着8位是出生日期,然后3位为顺序号(奇数分配给男性,偶数分配给女性),最后1位是校验码。 2. **地区编码验证** - 地区代码是根据...

    用sql实现18位身份证校验代码分享 身份证校验位计算

    4. **校验码匹配**:根据余数确定最后一位校验码。余数可以是0到10,对应的校验码分别是1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2。 下面是一个使用SQL实现的身份证校验代码示例,这段代码使用Oracle SQL的WITH子句和...

    身份证验证jar

    而“X”在身份证号码中表示最后一位校验码,它代表罗马数字的10,用于满足校验规则。 这个自封装的`IdcardValidator.jar`是一个Java类库,内部包含了处理身份证验证的核心逻辑。它的主要功能是检查输入的身份证号码...

    身份证验证

    公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下: 1. 地址码:表示编码对象常住户口所在县...

    中国身份证号段(全国)

    4. 第18位是校验码:根据前17位数字通过特定算法计算得出,用于检验身份证号码的正确性。校验码可以是0-9中的任何数字,也可以是X,代表10。 在“IDCard.sql”这个文件中,很可能包含了全国各地身份证号段的具体...

    一个计算身份证号码校验位的Python小程序

    S = Sum(Ai * Wi), i=0,…….16 (现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了) Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,...

    18位身份证验证java程序实例

    首先检查输入字符串长度是否为18位,如果是,则去掉最后一位校验码。然后遍历字符串,提取每个字符并转换成整数,再与权重系数相乘求和,最后根据求和结果计算余数并找到对应的校验码。 3. **`uptoeighteen` 方法*...

    身份证号码检查(check_sfz)

    在中国,身份证号码是18位数字,包含了个人出生日期、性别、出生地等信息,并通过特定算法进行校验,确保号码的唯一性和准确性。这个Excel加载项是为了方便用户在处理大量数据时,快速验证身份证号码的合法性。 ...

    IMEI生成器

    IMEI由15位数字组成,分为四部分:TAC(Type Allocation Code,类型分配码)、FAC(Final Assembly Code,最后装配码)、SNR(Serial Number,序列号)和CD(Check Digit,校验码)。IMEI生成器是一种工具,用于生成...

    易语言源码身份证号码归属地查询系统易语言源码.7z

    2. 输入解析:用户输入身份证号码后,系统首先会验证号码的合法性,包括长度、校验码等,确保号码真实有效。 3. 匹配查询:系统通过解析出身份证号码的前六位,与数据库中的数据进行匹配,找到对应的地区信息。 4....

    易语言身份证格式验证模块例程

    6. **校验码验证**:最后一位是校验码,通过前17位数字和特定的加权模11算法计算得出。将输入的校验码与计算出的校验码进行对比,一致则验证通过,否则失败。 在易语言中实现这个模块,可能需要用到字符串处理函数...

    身份证验证系统

    4. 校验码(1位):最后一位是校验码,用于验证整个身份证号码的正确性。它可以通过特定算法计算得出,确保身份证号码的唯一性和准确性。 在实现身份证验证系统时,开发者可能会用到以下技术点: - XML解析:使用...

    Android-android自定义键盘支持身份证键盘ip地址键盘数字键盘等

    身份证校验可以通过身份证校验公式计算校验码,该公式考虑了每一位数字的权重以及最后一位校验码。对于IP地址,只需检查每部分数字是否在0-255之间,且总共不超过四部分。随机数字键盘则可能需要一个生成随机数的...

    易语言身份证校验源码-易语言

    身份证号码,全称是“中华人民共和国居民身份证号码”,是由18位数字组成的,包括6位地址码、8位出生日期码、3位顺序码和1位校验码。校验码的计算方式基于前17位数字,通过一种特定的加权和模11算法得出,确保了...

    JS验证身份证号与验证材料

    - 最后,用总和对11取模,得到的余数与最后一位校验码比较,若相等则验证通过。 4. **身份证号码的加权因子**: - 加权因子是1到17位数字的倍数,依次为:7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2。...

    javascript实现验证身份证号的有效性并提示

    身份证号码的有效性检测是一个涉及到多个层面的复杂过程,包括但不限于长度和格式校验、省份编码的合法性校验、生日日期的合法性校验以及最后一位校验码的校验。本文提供了一个较为完整的JavaScript函数实现,可以...

    身份证号码真伪检验程序(VB语言)+上位机-电路方案

    身份证第18位校验码规则介绍: 1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、将这17位数字和系数相乘的结果相加。 3...

Global site tag (gtag.js) - Google Analytics