请问如有EXCEL的身份证测试程序.....

来源:百度知道 编辑:UC知道 时间:2024/06/18 00:36:44

身份证号码侦测 自定义函数

在EXCEL中输入
=xfz(身份证号,性别)
*****************************************
按ALT+F11,插入模块后 在模块里输入以下:

Public Function xfz(sid, xb) ' As Currency
'1、身份证不满15位,2、性别与身份证不符,3、出生月份出错(不在1-12)
'4、出生日期出错(不在1-31范围内),5、18位校验位出错,6、18位身份证年份出借
On Error Resume Next
Dim s1, s2, jym, x
If xb = 1 Then x = 1
If xb = "男" Then x = 1
If xb = 2 Then x = 0
If xb = "女" Then x = 0
s1 = " 7 910 5 8 4 2 1 6 3 7 910 5 8 4 2"
s2 = "10x98765432"
If Len(sid) <> 15 And Len(sid) <> 18 Then
xfz = "身份证位数错误"
'测试15位身份证的信息
ElseIf Len(sid) = 15 And Val(Mid(sid, 7, 2)) < 10 Then
xfz = "年龄好大,请多多保重!"
ElseIf Len(sid) = 15 And Val(Mid(sid, 9, 2)) > 12 Then
xfz = "出生月份错误!"
ElseIf Len(sid) = 15 And Val(Mid(sid, 11, 2)) > 31 Then
xfz = "出生日期错误!"
ElseIf Len(sid) = 15 And Mid(sid