根据身份证号校验年龄是否在16到80岁demo
时间: 2024-03-05 13:51:57 浏览: 23
好的,以下是一个根据身份证号校验年龄是否在16到80岁的 Python 示例代码:
```python
import datetime
def check_age(id_num):
# 根据身份证号获取出生日期
birth_year = int(id_num[6:10])
birth_month = int(id_num[10:12])
birth_day = int(id_num[12:14])
birth_date = datetime.date(birth_year, birth_month, birth_day)
# 计算年龄
today = datetime.date.today()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
# 判断年龄是否在16到80岁之间
if age >= 16 and age <= 80:
return True
else:
return False
```
你可以将身份证号作为参数传递给 `check_age()` 函数,函数会返回一个布尔值,表示该身份证号对应的年龄是否在16到80岁之间。
相关问题
根据身份证号校验年龄是否在16到80岁java demo
好的,以下是一个根据身份证号校验年龄是否在16到80岁的 Java 示例代码:
```java
import java.time.LocalDate;
import java.time.Period;
public class AgeChecker {
public static boolean checkAge(String idNum) {
// 根据身份证号获取出生日期
int birthYear = Integer.parseInt(idNum.substring(6, 10));
int birthMonth = Integer.parseInt(idNum.substring(10, 12));
int birthDay = Integer.parseInt(idNum.substring(12, 14));
LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
// 计算年龄
LocalDate today = LocalDate.now();
Period period = Period.between(birthDate, today);
int age = period.getYears();
// 判断年龄是否在16到80岁之间
if (age >= 16 && age <= 80) {
return true;
} else {
return false;
}
}
}
```
你可以调用 `checkAge()` 方法并传入身份证号作为参数,方法会返回一个布尔值,表示该身份证号对应的年龄是否在16到80岁之间。
java 根据身份证号编码规则校验身份证号有效性
是的,可以根据身份证号编码规则来校验身份证号的有效性。以下是一个简单的 Java 代码示例:
```java
public class IdCardValidator {
/**
* 校验身份证号码是否合法
* @param idCard 身份证号码
* @return true:合法,false:不合法
*/
public static boolean validate(String idCard) {
if (idCard == null || idCard.length() != 18) {
return false;
}
// 将身份证号码转换为字符数组
char[] chars = idCard.toCharArray();
// 系数数组
int[] coefficientArray = new int[] {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
// 校验码数组
char[] checkCodeArray = new char[] {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
// 计算校验码
int sum = 0;
for (int i = 0; i < coefficientArray.length; i++) {
int num = Character.getNumericValue(chars[i]);
sum += num * coefficientArray[i];
}
int remainder = sum % 11;
char checkCode = checkCodeArray[remainder];
// 校验校验码
return checkCode == chars[17];
}
}
```
该代码使用了身份证号码的编码规则,计算出一个校验码,然后与给定的身份证号码的校验码进行比较,以判断身份证号码是否合法。