VBNET整理软件---根据身份证号码识别出生日期,性别,生肖,搜了下网上的check不够全...自己做了下又..
Public Class Form1 Dim y As String Dim m As String Dim d As String Dim sex As String Dim sfzh As String Dim after As Long Dim shengxiao As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click sfzh = testbox.Text On Error GoTo ErrorHandler ' 可能包含错误的代码 after = CLng(sfzh) '判断身份证号码是不是18位 y = Mid(after, 7, 4) m = Mid(after, 11, 2) d = Mid(after, 13, 2) If y < 1985 Or y > 2013 Then MsgBox("您的身份证号不在发受期内") Exit Sub End If If m = 0 Or m > 12 Then MsgBox("您的出生月份不对,月份不能为0或者大于12") Exit Sub End If
If (d = 0 Or d > 31) Or (y Mod 400 = 0 And d > 29 And m = 2) Or (y Mod
400 <> 0 And d > 28 And m = 2) Then MsgBox("您的出生日期出错,出生日期不能为0或超过31,并且在闰年2月不能超
过29,非闰年2月不能超过28") End If MsgBox("您的出生日期是:" + y + "年" + m + "月" + d + "日") Exit SubErrorHandler: ' 用于处理错误的代码 MsgBox("您输入的身份证号不合法") Exit Sub Resume End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click sfzh = testbox.Text On Error GoTo ErrorHandler ' 可能包含错误的代码 after = CLng(sfzh) '判断身份证号码是不是18位 y = Mid(after, 7, 4) m = Mid(after, 11, 2) d = Mid(after, 13, 2) sex = Mid(after, 17, 1) If y < 1985 Or y > 2013 Then MsgBox("您的身份证号不在发受期内") Exit Sub End If If m = 0 Or m > 12 Then MsgBox("您的出生月份不对,月份不能为0或者大于12") Exit Sub End If
If (d = 0 Or d > 31) Or (y Mod 400 = 0 And d > 29 And m = 2) Or (y Mod
400 <> 0 And d > 28 And m = 2) Then MsgBox("您的出生日期出错,出生日期不能为0或超过31,并且在闰年2月不能超
过29,非闰年2月不能超过28") End If If sex Mod 2 = 0 Then MsgBox("您的性别是:女") Else MsgBox("您的性别是:男") End If Exit SubErrorHandler: ' 用于处理错误的代码 MsgBox("您输入的身份证号不合法") Exit Sub Resume End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click sfzh = testbox.Text On Error GoTo ErrorHandler ' 可能包含错误的代码 after = CLng(sfzh) '判断身份证号码是不是18位 y = Mid(after, 7, 4) m = Mid(after, 11, 2) d = Mid(after, 13, 2) sex = Mid(after, 17, 1) If y < 1985 Or y > 2013 Then MsgBox("您的身份证号不在发受期内") Exit Sub End If If m = 0 Or m > 12 Then MsgBox("您的出生月份不对,月份不能为0或者大于12") Exit Sub End If
If (d = 0 Or d > 31) Or (y Mod 400 = 0 And d > 29 And m = 2) Or (y Mod
400 <> 0 And d > 28 And m = 2) Then MsgBox("您的出生日期出错,出生日期不能为0或超过31,并且在闰年2月不能超
过29,非闰年2月不能超过28") End If shengxiao = y Mod 12 Select Case shengxiao Case 4 MsgBox("您的生肖是:鼠") Case 5 MsgBox("您的生肖是:牛") Case 6 MsgBox("您的生肖是:虎") Case 7 MsgBox("您的生肖是:兔") Case 8 MsgBox("您的生肖是:龙") Case 9 MsgBox("您的生肖是:蛇") Case 10 MsgBox("您的生肖是:马") Case 11 MsgBox("您的生肖是:羊") Case 0 MsgBox("您的生肖是:猴") Case 1 MsgBox("您的生肖是:鸡") Case 2 MsgBox("您的生肖是:狗") Case 3 MsgBox("您的生肖是:猪") End Select
Exit SubErrorHandler: ' 用于处理错误的代码 MsgBox("您输入的身份证号不合法") Exit Sub Resume End SubEnd Class