2026年11月2日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

Asp函数居民身份证验证方法

[复制链接]
查看 144 回复 0
楼主 发表于 | 只看该作者
1 人收藏

刚才在网上看到一个居民身份证验证asp函数,感觉到在做用户注册的时候可以用到,于是就转过来,以便大家到时候用到,方便使用。并且经过我的测试,完全没有问题,测试结果是:

1、输入错误的身份证号,程序会输出相应的错误提示。

2、输入正确的身份证号,程序会将这个身份证号直接输出。

函数具体代码如下:

<%

Function Check*Id(e)

arrVerifyCode = Split(“1,0,x,9,8,7,6,5,4,3,2“, “,“)

Wi = Split(“7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2“, “,“)

Checker = Split(“1,9,8,7,6,5,4,3,2,1,1“, “,“)

If Len(e) < 15 Or Len(e) = 16 Or Len(e) = 17 Or Len(e) > 18 Then

Check*Id= “身份证号共有 15 码或18位“

Exit Function

End If

Dim Ai

If Len(e) = 18 Then

Ai = Mid(e, 1, 17)

ElseIf Len(e) = 15 Then

Ai = e

Ai = Left(Ai, 6) &amp; “19“ &amp; Mid(Ai, 7, 9)

End If

If Not IsNumeric(Ai) Then

Check*Id= “身份证除最后一位外,必须为数字!“

Exit Function

End If

Dim strYear, strMonth, strDay

strYear = CInt(Mid(Ai, 7, 4))

strMonth = CInt(Mid(Ai, 11, 2))

strDay = CInt(Mid(Ai, 13, 2))

BirthDay = Trim(strYear) + “-“ + Trim(strMonth) + “-“ + Trim(strDay)

If IsDate(BirthDay) Then

If DateDiff(“yyyy“,Now,BirthDay) <-140 or cdate(BirthDay)> date() Then

Check*Id= “身份证输入错误!“

Exit Function

End If

If strMonth > 12 Or strDay > 31 Then

Check*Id= “身份证输入错误!“

Exit Function

End I第 1/2 页,共 2 页

下页 全部 余下 >>Asp计算页面执行的时间方法

<<Asp类的定义方法和使用方法f

Else

Check*Id= “身份证输入错误!“

Exit Function

End If

Dim i, TotalmulAiWi

For i = 0 To 16

TotalmulAiWi = TotalmulAiWi + CInt(Mid(Ai, i + 1, 1)) * Wi(i)

Next

Dim modValue

modValue = TotalmulAiWi Mod 11

Dim strVerifyCode

strVerifyCode = arrVerifyCode(modValue)

Ai = Ai &amp; strVerifyCode

Check*Id = Ai

If Len(e) = 18 And e <> Ai Then

Check*Id= “身份证号码输入错误!“

Exit Function

End If

End Function

response.write Check*Id(“528337194801020025“)

%>

登录回复

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块