java正则表达式实现输入身份证号,判断此人性别。(15位身份证号码:第15位代表性别,奇数为男,偶数为女。18位身份证号码:第17位代表性别,奇数为男,偶数为女。)
时间: 2024-11-16 17:27:30 浏览: 16
在Java中,你可以使用正则表达式配合条件判断来验证身份证号码并确定性别。首先,我们需要创建一个正则表达式模式来匹配身份证号码,然后通过获取最后一位数字来判断性别。
对于15位身份证:
```java
String regex15 = "(\\d{6})(\\d{8})(\\d)";
Pattern pattern15 = Pattern.compile(regex15);
Matcher matcher15 = pattern15.matcher(inputID);
if (matcher15.matches()) {
int lastDigit = Integer.parseInt(matcher15.group(3));
String gender = lastDigit % 2 == 0 ? "女" : "男";
}
```
对于18位身份证:
```java
String regex18 = "(\\d{6})(\\d{4})(\\d{3})(\\d)";
Pattern pattern18 = Pattern.compile(regex18);
Matcher matcher18 = pattern18.matcher(inputID);
if (matcher18.matches()) {
int lastDigit = Integer.parseInt(matcher18.group(4));
String gender = lastDigit % 2 == 0 ? "女" : "男";
}
```
在这两个例子中,我们假设`inputID`是用户输入的身份证字符串。最后会根据身份证的最后一位(第17位或第15位),如果是偶数,则性别为女,奇数为男。
阅读全文