
/**//*modify bzl 2007-07-12根据身份证号码生成生日和性别*/
String ls_date,ls_id,ls_sex,ls_month,ls_day,ls_year
Date ld_birthday
ls_id = data
If Len(ls_id) = 15 Then
ls_date = Mid(ls_id,7,6)
ls_sex = MID(ls_id,15,1)
ls_year = Mid(ls_id,7,2)
ls_month = Mid(ls_id,9,2)
ls_day =Mid(ls_id,11,2)
ls_year = '19' + ls_year
ElseIf Len(ls_id) = 18 Then
ls_date = Mid(ls_id,7,8)
ls_sex = Mid(ls_id,17,1)
ls_year = Mid(ls_id,7,4)
ls_month = Mid(ls_id,11,2)
ls_day =Mid(ls_id,13,2)
Else
MessageBox("错误","身份证号码只能为15位或18位,请重新输入!^_^' ")
return 2
End If
if not (((Integer(ls_year))>=1900) and ((Integer(ls_year))<=2999)) then
messagebox('提示:','对不起,你输入的身份证号码年份不对,请检查')
return 2
end if
if not (((Integer(ls_month))>=01) and ((integer(ls_month))<=12)) then
messagebox('提示:','对不起,你输入的身份证号码月份不对,请检查')
return 2
end if
if not (((Integer(ls_day))>=01) and ((Integer(ls_day))<=31)) then
messagebox('提示:','对不起,你输入的日期份证号码不对,请检查')
return 2
end if
ls_date = Left(ls_date, Len(ls_date) - 4)+"-"+Mid(ls_date,Len(ls_date)-4+1,2)+ "-" + Right(ls_date,2)
ld_birthday = Date(ls_date)
if Mod(integer(ls_sex),2)=0 then
ls_sex = '女'
else
ls_sex = '男'
end if
本文介绍如何通过身份证号码提取个人的出生日期和性别信息。身份证号码的第7位到第14位代表出生日期,第17位(奇数位)决定性别,奇数为男性,偶数为女性。详细解析过程将帮助你理解身份证号码的结构并进行相关计算。
5万+

被折叠的 条评论
为什么被折叠?



