根据身份证号码生成生日和性别

来源:互联网 发布:迅雷网络诊断工具下载 编辑:程序博客网 时间:2024/05/01 20:51

 

 /*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 
原创粉丝点击