Java实现身份证号码格式校验、性别提取与星座计算
Java实现身份证号码格式校验、性别提取与星座计算
以下是一段Java代码示例,用于判断身份证号码格式是否正确,并根据身份证号码提取性别信息和计算星座:javaimport java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;
public class IDCardUtils { public static void main(String[] args) { String idNumber = '身份证号码'; // 请将此处替换为你要验证的身份证号码
if (isIdNumberValid(idNumber)) { String gender = extractGender(idNumber); String constellation = getConstellation(idNumber);
System.out.println('身份证号码格式正确'); System.out.println('性别信息为:' + gender); System.out.println('对应星座为:' + constellation); } else { System.out.println('身份证号码格式不正确'); } }
// 判断身份证号码格式是否正确 public static boolean isIdNumberValid(String idNumber) { // 身份证号码验证逻辑 // 此处省略具体实现,请根据实际情况自行编写验证逻辑
return true; // 返回验证结果 }
// 提取性别信息 public static String extractGender(String idNumber) { int secondLastDigit = Integer.parseInt(idNumber.substring(idNumber.length() - 2, idNumber.length() - 1)); if (secondLastDigit % 2 == 0) { return '女'; } else { return '男'; } }
// 获取星座 public static String getConstellation(String idNumber) { String dateStr = idNumber.substring(6, 14);
SimpleDateFormat sdf = new SimpleDateFormat('yyyyMMdd'); try { Date date = sdf.parse(dateStr); int month = date.getMonth() + 1; int day = date.getDate();
if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) { return '水瓶座'; } else if ((month == 2 && day >= 19) || (month == 3 && day <= 20)) { return '双鱼座'; } else if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) { return '白羊座'; } else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) { return '金牛座'; } else if ((month == 5 && day >= 21) || (month == 6 && day <= 21)) { return '双子座'; } else if ((month == 6 && day >= 22) || (month == 7 && day <= 22)) { return '巨蟹座'; } else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) { return '狮子座'; } else if ((month == 8 && day >= 23) || (month == 9 && day <= 22)) { return '处女座'; } else if ((month == 9 && day >= 23) || (month == 10 && day <= 23)) { return '天秤座'; } else if ((month == 10 && day >= 24) || (month == 11 && day <= 22)) { return '天蝎座'; } else if ((month == 11 && day >= 23) || (month == 12 && day <= 21)) { return '射手座'; } else { return '摩羯座'; } } catch (ParseException e) { e.printStackTrace(); return ''; } }}
代码说明:
isIdNumberValid(String idNumber)方法用于校验身份证号码格式是否正确,你需要根据实际情况自行编写验证逻辑。*extractGender(String idNumber)方法根据身份证号码倒数第二位数字的奇偶性判断性别。*getConstellation(String idNumber)方法根据身份证号码中的出生年月信息计算对应的星座。
你可以将上述代码中的 '身份证号码' 替换为你要验证的具体身份证号码。希望这可以满足你的需求!如有任何问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/qNI 著作权归作者所有。请勿转载和采集!