JAVA验证身份证号码
public static void check(String cid) {
String[] aCity = new String[] { null, null, null, null, null, null, null,
null, null, null, null, "北京", "天津", "河北", "山西", "内蒙古", null, null, null,
null, null, "辽宁", "吉林", "黑龙江", null, null, null, null, null, null, null,
"上海", "江苏", "浙江", "安微", "福建", "江西", "山东", null, null, null, "河南", "湖北",
"湖南", "广东", "广西", "海南", null, null, null, "重庆", "四川", "贵州", "云南", "西藏",
null, null, null, null, null, null, "陕西", "甘肃", "青海", "宁夏", "新疆", null,
null, null, null, null, "台湾", null, null, null, null, null, null, null,
null, null, "香港", "澳门", null, null, null, null, null, null, null, null,
"国外" };
if(aCity[Integer.parseInt(cid.substring(0, 2))] == null) {
System.err.println("省级地区号码不存在");
}else{
System.err.println("此身份证注册地区为:"+aCity[Integer.parseInt(cid.substring(0, 2))]);
}
int sum = 1;
for (int k = 0; k < cid.length() - 1; k++) {
// 加权因子常数
int[] i = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
sum += (Integer.parseInt(cid.substring(k,k+1))) * i[k];
}
// 校验码常数
String s = "210X9876543";
String jiaoyan = s.substring(sum % 11, (sum % 11 + 1));
if (cid.substring(17).equals(jiaoyan))
System.err.println("身份证号码正确!");
else System.err.println("校验码错误!");
}
public static void main(String[] args) {
String lixin="111111111188888888";
check( lixin);
}
- 上一篇 »Python3实现生成验证码图片
- 下一篇 »ios 苹果内购订单验证 --- php实现