18位身份证验证方法
来源:互联网 发布:oracle和mysql的转换 编辑:程序博客网 时间:2024/04/26 16:27
Private Function CheckCidInfo(ByVal cid As String) As String
Dim aCity() As String = {"", "", "", "", "", "", "", "", "", "", _
"", "北京", "天津", "河北", "山西", "内蒙古", "", _
"", "", "", "", "辽宁", "吉林", "黑龙江", "", "", _
"", "", "", "", "", "上海", "江苏", "浙江", "安微", _
"福建", "江西", "山东", "", "", "", "河南", "湖北", _
"湖南", "广东", "广西", "海南", "", "", "", "重庆", _
"四川", "贵州", "云南", "西藏", "", "", "", "", "", _
"", "陕西", "甘肃", "青海", "宁夏", "新疆", "", "", _
"", "", "", "台湾", "", "", "", "", "", "", "", "", _
"", "香港", "澳门", "", "", "", "", "", "", "", "", "国外"}
Dim iSum As Double = 0
Dim info As String = ""
Dim rg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("^/d{17}(/d|x)$")
Dim mc As System.Text.RegularExpressions.Match = rg.Match(cid)
If mc.Success = False Then
Return ""
End If
cid = cid.ToLower
cid = cid.Replace("x", "a")
If aCity(Integer.Parse(cid.Substring(0, 2))) = "" Then
Return "非法地址"
End If
Try
DateTime.Parse(cid.Substring(6, 4) & "-" & cid.Substring(10, 2) & "-" & cid.Substring(12, 2))
Catch ex As Exception
Return "非法生日"
End Try
Dim i As Integer
For i = 17 To 0 Step -1
iSum = iSum + (System.Math.Pow(2, i) Mod 11) * Integer.Parse(cid.Substring(17 - i, 1), System.Globalization.NumberStyles.HexNumber)
'
Next
If iSum Mod 11 <> 1 Then
Return "非法证号"
End If
Dim strSex As String
If (Integer.Parse(cid.Substring(16, 1)) Mod 2) = 1 Then
strSex = "男"
Else
strSex = "女"
End If
Return aCity(Integer.Parse(cid.Substring(0, 2))) & "," & cid.Substring(6, 4) & "-" & cid.Substring(10, 2) & "-" & cid.Substring(12, 2) & "," & strSex
End Function
- 18位身份证验证方法
- 18位身份证验证方法
- 18位身份证验证方法
- 18位身份证验证方法
- 18位身份证验证
- 18位身份证验证
- 18位身份证验证
- 18位身份证验证源代码
- 18位身份证验证代码
- 18位身份证验证代码
- 15位身份证转18位/18位身份证验证
- 15位或18位身份证验证
- 18位身份证标准及验证
- 18位身份证格式验证算法
- 身份证第18位校验码验证
- 正则表达式验证身份证18位
- 身份证18位C#验证程序
- 身份证号码15位升18位身份证18位验证
- oracle数据类型分析
- 什么是动态链接库
- sql server 2005 T-SQL ALTER ENDPOINT (Transact-SQL)
- sql server 2005 T-SQL ALTER FULLTEXT CATALOG (Transact-SQL)
- sql server 2005 T-SQL ALTER FULLTEXT INDEX (Transact-SQL)
- 18位身份证验证方法
- sql server 2005 T-SQL ALTER FUNCTION (Transact-SQL)
- sql回滚语句
- sql server 2005 T-SQL ALTER INDEX (Transact-SQL)
- sql server 2005 T-SQL ALTER LOGIN (Transact-SQL)
- sql server 2005 T-SQL ALTER MASTER KEY (Transact-SQL)
- 071221测试
- Spring 2.5新特性带来的便捷与一点疑问
- sql server 2005 T-SQL ALTER PARTITION FUNCTION (Transact-SQL)