15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@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(); }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>