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

 

  /*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  

你可能感兴趣的:(PB,开发日记)