⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 身份证验证_马涛制作1.frm

📁 这是一个身份证验证的程序代码
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "身份证验证 天马制作@版权所有"
   ClientHeight    =   5070
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6915
   BeginProperty Font 
      Name            =   "宋体"
      Size            =   12
      Charset         =   134
      Weight          =   700
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   Icon            =   "身份证验证_马涛制作1.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   ScaleHeight     =   5070
   ScaleWidth      =   6915
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton cmdrein 
      Caption         =   "重新输入(&R)"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Left            =   3600
      TabIndex        =   7
      Top             =   1200
      Width           =   1575
   End
   Begin VB.Frame Frame1 
      Caption         =   "身份证信息:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000040&
      Height          =   2655
      Left            =   240
      TabIndex        =   3
      Top             =   2160
      Width           =   6375
      Begin VB.OptionButton optwom 
         Caption         =   "女"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   15.75
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   4440
         TabIndex        =   11
         Top             =   1440
         Width           =   1575
      End
      Begin VB.OptionButton optman 
         Caption         =   "男"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   15
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   4440
         TabIndex        =   10
         Top             =   720
         Width           =   1695
      End
      Begin VB.Label lblbir 
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   480
         Left            =   840
         TabIndex        =   9
         Top             =   1560
         Width           =   2280
      End
      Begin VB.Label lblpro 
         AutoSize        =   -1  'True
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   840
         TabIndex        =   8
         Top             =   600
         Width           =   2535
         WordWrap        =   -1  'True
      End
      Begin VB.Label Label5 
         Caption         =   "性别:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   3720
         TabIndex        =   6
         Top             =   1080
         Width           =   855
      End
      Begin VB.Label Label4 
         Caption         =   "生日:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   120
         TabIndex        =   5
         Top             =   1560
         Width           =   855
      End
      Begin VB.Label Label2 
         Caption         =   "籍贯:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   120
         TabIndex        =   4
         Top             =   600
         Width           =   855
      End
   End
   Begin VB.CommandButton cmdchck 
      Caption         =   "查询"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Left            =   1440
      TabIndex        =   2
      Top             =   1200
      Width           =   1575
   End
   Begin VB.TextBox txtnum 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   2280
      MaxLength       =   18
      TabIndex        =   1
      Top             =   480
      Width           =   3975
   End
   Begin VB.Label label1 
      Caption         =   "请输入15位或18位身份证号码:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   735
      Left            =   240
      TabIndex        =   0
      Top             =   240
      Width           =   1935
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Sub check(ByVal num As String)              '检查身份证号码
    
    Dim chyear As String
    Dim chmonth As String
    Dim chday As String
    Dim font_six As String
    Dim province_result As String
    font_six = Left(num, 6)
    Dim le As Integer
    le = Len(num)
    
    If le = 15 Or le = 18 Then             '检查号码长度是否正确
       If le = 15 Then
          chyear = "19" & Mid(num, 7, 2)
          chmonth = Mid(num, 9, 2)
          chday = Mid(num, 11, 2)
          If IsDate(chday & " " & chmonth & "," & chyear) Then
              If CDate(Str(Val(chyear) + 16) & "/" & chmonth & "/" & chday) > Date Then
                 MsgBox "你未满16周岁吗?请重新检查身份证!", vbOKOnly + vbExclamation, "身份证号码有误"
                 cmdrein_Click
                 Exit Sub
              Else
                 province_result = Form2.query_province(font_six)
                     If Val(province_result) > 0 Then
                         MsgBox "身份证号码前6位有误,请重新输入!", vbOKOnly + vbExclamation, "身份证号码有误"
                         cmdrein_Click
                         Exit Sub
                      Else
                         lblpro = province_result
                         lblbir = chyear & " 年" & Str(Val(chmonth)) & "月" & Str(Val(chday)) & "日"
                         optman.Enabled = True
                         optwom.Enabled = True
                         If Val(Right(num, 1)) Mod 2 = 1 Then
                            optman.Value = True
                         Else
                            optwom.Value = True
                         End If
                      End If
               End If
           Else
               MsgBox "身份证号码生日输入有误,请重新输入!", vbOKOnly + vbExclamation, "身份证号码有误"
               cmdrein_Click
               Exit Sub
           End If
       Else
          chyear = Mid(num, 7, 4)
          chmonth = Mid(num, 11, 2)
          chday = Mid(num, 13, 2)
          If IsDate(chday & " " & chmonth & "," & chyear) Then
              If CDate(Str(Val(chyear) + 16) & "/" & chmonth & "/" & chday) > Date Then
                 MsgBox "你未满16周岁吗?请重新检查身份证!", vbOKOnly + vbExclamation, "身份证号码有误"
                 cmdrein_Click
                 Exit Sub
              ElseIf CInt(chyear) < 1900 Then
                      MsgBox "你未免也太老了吧,请重新检查身份证!", vbOKOnly + vbExclamation, "身份证号码有误"
                      cmdrein_Click
                      Exit Sub
              Else
                      province_result = Form2.query_province(font_six)
                      If Val(province_result) > 0 Then
                          MsgBox "身份证号码前6位有误,请重新输入!", vbOKOnly + vbExclamation, "身份证号码有误"
                          cmdrein_Click
                          Exit Sub
                       Else
                          lblpro = province_result
                          lblbir = chyear & " 年" & Str(Val(chmonth)) & "月" & Str(Val(chday)) & "日"
                          optman.Enabled = True
                          optwom.Enabled = True
                          If Val(Left(Right(num, 2), 1)) Mod 2 = 1 Then
                             optman.Value = True
                          Else
                             optwom.Value = True
                          End If
                       End If
               End If
           Else
               MsgBox "身份证号码生日输入有误,请重新输入!", vbOKOnly + vbExclamation, "身份证号码有误"
               cmdrein_Click
               Exit Sub
           End If
        End If
      Else
        MsgBox "身份证号码位数不对,请重新输入!", vbOKOnly + vbExclamation, "身份证号码有误"
        cmdrein_Click
        Exit Sub
    End If
    
End Sub

Private Sub cmdchck_Click()        '点击"查询"按钮时
   
   Call check(txtnum.Text)
   cmdchck.Enabled = False
   
End Sub

Private Sub cmdrein_Click()        '点击"重新输入"按钮时
  
   txtnum.Enabled = True
   txtnum.SelStart = 0
   txtnum.SelLength = Len(txtnum.Text)
   txtnum.SetFocus
  
End Sub

Private Sub Form_Load()
   
   cmdchck.Enabled = False
   cmdrein.Enabled = False
   optman.Value = False
   optwom.Value = False
   optman.Enabled = False
   optwom.Enabled = False
   
   Form2.Form_Load
   
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
      '点击"关闭时"
   
   If UnloadMode = 0 Then End
   
End Sub

Private Sub txtnum_Change()        '文本框的值有所改变时
   
   cmdchck.Enabled = True
   cmdrein.Enabled = True
   
End Sub

Private Sub txtnum_KeyPress(KeyAscii As Integer)       '利用键盘输入时
   
   If KeyAscii > 47 And KeyAscii < 58 Or KeyAscii = 8 Then Exit Sub
   If KeyAscii = 13 Then
      cmdchck_Click
      Exit Sub
   End If
   KeyAscii = 0
   
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -