public class Ic {
public static String get18Ic(String identityCard) {
String retId = "";
String id17 = "";
int sum = 0;
int y = 0;
int[] wf = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
String[] cc = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" };
if (identityCard.length() != 15) {
return identityCard;
}
id17 = identityCard.substring(0, 6) + "19" + identityCard.substring(6);
for (int i = 0; i < 17; i++) {
sum = sum + Integer.valueOf(id17.substring(i, i + 1)) * wf[i];
}
y = sum % 11;
retId = id17 + cc[y];
return retId;
}
public static void main(String[] args) {
// 例子 65463463456
System.out.println(get18Ic("4654646"));
// 结果 45646466464
}
}
Java xxx 女女 千万
15位转18位身份证号算法
于 2016-02-24 12:50:43 首次发布
本文介绍了一个简单的Java程序,该程序能够将15位的身份证号码转换为18位的标准格式。通过特定的权重因子和校验码集合,确保了转换后的身份证号码符合中国现行的身份验证标准。
该文章已生成可运行项目,
本文章已经生成可运行项目
8886

被折叠的 条评论
为什么被折叠?



