要通过身份证号码判断省市县名称,需要使用身份证号码的前六位来确定所在的行政区域。这些前六位是身份证号码中的地区码。以下是一个示例代码,它展示了如何通过身份证号码获取省市县名称:
import java.util.HashMap;
import java.util.Map;
public class IDCardUtils {
// 模拟的地区码数据
private static final Map<String, String> REGION_CODES = new HashMap<>();
static {
REGION_CODES.put("110000", "北京市");
REGION_CODES.put("110100", "北京市-市辖区");
REGION_CODES.put("110101", "北京市-东城区");
REGION_CODES.put("110102", "北京市-西城区");
// 继续添加其他区域码和名称
}
public static void main(String[] args) {
String idNumber = "11010119900101001X"; // 示例身份证号码
String region = getRegionName(idNumber);
System.out.println("地区: " + region);
}
public static String getRegionName(String idNumber) {
if (idNumber == null || idNumber.length() < 6) {
return "无效身份证号码";
}
String regionCode = idNumber.substring(0, 6);
return REGION_CODES.getOrDefault(regionCode, "未知地区");
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
说明:
REGION_CODES
: 模拟的地区码数据,你需要用实际的完整数据替换这个示例数据。getRegionName
: 从身份证号码提取前六位,然后通过这个区域码查询对应的省市县名称。
加上男女判断
import java.util.HashMap;
import java.util.Map;
public class IDCardUtils {
// 模拟的地区码数据
private static final Map<String, String> REGION_CODES = new HashMap<>();
static {
REGION_CODES.put("110000", "北京市");
REGION_CODES.put("110100", "北京市-市辖区");
REGION_CODES.put("110101", "北京市-东城区");
REGION_CODES.put("110102", "北京市-西城区");
// 继续添加其他区域码和名称
}
public static void main(String[] args) {
String idNumber = "11010119900101001X"; // 示例身份证号码
String region = getRegionName(idNumber);
String gender = getGender(idNumber);
System.out.println("地区: " + region);
System.out.println("性别: " + gender);
}
/**
* 根据身份证号码获取地区名称
* @param idNumber 身份证号码
* @return 地区名称
*/
public static String getRegionName(String idNumber) {
if (idNumber == null || idNumber.length() < 6) {
return "无效身份证号码";
}
String regionCode = idNumber.substring(0, 6);
return REGION_CODES.getOrDefault(regionCode, "未知地区");
}
/**
* 根据身份证号码获取性别
* @param idNumber 身份证号码
* @return 性别
*/
public static String getGender(String idNumber) {
if (idNumber == null || idNumber.length() < 17) {
return "无效身份证号码";
}
// 身份证号码第17位是性别位,奇数表示男性,偶数表示女性
char genderChar = idNumber.charAt(16);
if (genderChar % 2 == 0) {
return "女性";
} else {
return "男性";
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.