当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java处理15位身份证变18位

发表于: 2015-04-09   作者:蕃薯耀   来源:转载   浏览:
摘要:   15位身份证变18位,18位身份证变15位 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 201

 

15位身份证变18位,18位身份证变15位

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年4月9日 15:11:44 星期四

 

 

 

@Bizlet("身份证18位转15位")
	public static String IdCar18to15(String idCard){
		idCard = idCard.trim();
		StringBuffer idCard15 =new StringBuffer(idCard);
		if(idCard!=null&&idCard.length()==18){
			idCard15.delete(17,18);
			idCard15.delete(6,8);
		}
		return idCard15.toString();
	}
	
	
	@Bizlet("身份证15位转18位")
	public static String IdCar15to18(String idCard){
		idCard = idCard.trim();
		StringBuffer idCard18 =new StringBuffer(idCard);
		//加权因子
		//校验码值
		char[]  checkBit = {'1','0','X','9','8','7','6','5','4','3','2'};
		int sum = 0;
		if(idCard!=null&&idCard.length()==18){
			idCard18.insert(6, "19");
			for(int index=0;index<idCard18.length();index++){
				char c  = idCard18.charAt(index);
				int ai = Integer.parseInt(new  Character(c).toString());
				//加权因子的算法
				int Wi = ((int)Math.pow(2, idCard18.length()-index))%11;
				sum = sum+ai*Wi;
			}
			int indexOfCheckBit = sum%11; //取模
			idCard18.append(checkBit[indexOfCheckBit]);
			
		}
		return idCard18.toString();
	}

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年4月9日 15:11:44 星期四

Java处理15位身份证变18位

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号