有一身份证号,判断此为男还是女 #身份证分 15 位和 18 位 #15位身份证号码:第15位代表性别,奇数为男,偶数为女。 #18位身份证号码:第17位代表性别,奇数为男,偶数为女。
时间: 2024-03-11 12:44:32 浏览: 123
假设身份证号码为 id_number,可以按照以下方式进行判断:
```python
if len(id_number) == 15:
gender = int(id_number[-1])
elif len(id_number) == 18:
gender = int(id_number[-2])
else:
print("身份证号码格式不正确!")
if gender % 2 == 0:
print("此人为女性。")
else:
print("此人为男性。")
```
其中,第一个 if 判断身份证号码的长度是 15 位还是 18 位,第二个 if 判断身份证号码中性别码的奇偶性,从而判断此人为男性还是女性。
相关问题
请写一段javascript正则根据身份证判断性别返回男或女,身份证可能18位或15位数字
可以使用正则表达式来根据身份证判断性别并返回男或女。下面是一个示例代码:
```javascript
function getGender(idcard) {
var gender = "";
if (idcard.length == 18) {
gender = idcard.charAt(16);
} else if (idcard.length == 15) {
gender = idcard.charAt(14);
}
if (gender % 2 == 0) {
return "女";
} else {
return "男";
}
}
// 使用示例
var idcard = "身份证号码";
var gender = getGender(idcard);
console.log(gender);
```
在这个示例中,我们定义了一个 `getGender` 函数,它接受一个身份证号码作为参数,并根据身份证号码的长度和第17或第15位数字来判断性别。如果第17或第15位数字是偶数,则返回“女”,否则返回“男”。
有一身份证号,判断此人是否成年(截止到今天) #身份证分 15 位和 18 位 #15位身份证号码:第7、8位为出生年份(两位数), # 第9、10位为出生月份,第11、12位代表出生日期 #18位身份证号码:第7、8、9、10位为出生年份(四位数), # 第11、第12位为出生月份,第13、14位代表出生日期
假设身份证号码为 id_number,可以按照以下方式进行判断:
```python
import datetime
if len(id_number) == 15:
year = int("19" + id_number[6:8])
month = int(id_number[8:10])
day = int(id_number[10:12])
elif len(id_number) == 18:
year = int(id_number[6:10])
month = int(id_number[10:12])
day = int(id_number[12:14])
else:
print("身份证号码格式不正确!")
age = datetime.date.today().year - year
if (month, day) > (datetime.date.today().month, datetime.date.today().day):
age -= 1
if age >= 18:
print("此人已成年。")
else:
print("此人未成年。")
```
其中,第一个 if 判断身份证号码的长度是 15 位还是 18 位,并提取出出生年份、月份、日期;第二个 if 使用 datetime 模块计算出当前的年份,并计算出此人的年龄;最后判断此人是否已经成年。