今天查找身份证号检查算法,结果都是C#的。真是郁闷!现在我发布一个可以用于vb.net的身份证号检查算法。顺便散一点分。

marke marke 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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
...全文

相关推荐

如何实现ServiceContract的重载

对于.NET重载(Overloading)——定义不同参数列表的同名方法(顺便提一下,我们但可以在参数列表上重载方法,我们甚至可以在返回类型层面来重载我们需要的方法——也就是说,我们可以定义两个具有相同参数列表但不同返回值类型的两个同名的方法。不过,这种广义的Overloading不被我们主流的.NET语言所支持的——C#,VB.NET,但是对于IL来说,这这种基于返回值类型的Overloading是支持的)。相信大家听得耳朵都要起老茧了。我想大家也清楚在编写传统的XMLWebService的时候,Overloading是不被支持的。原因很简单,当我们用某种支持.NET的高级语言写成的程序被相

weixin_38731239

.NET与VB和C#

VB .Net是什么? VB .Net 是一种.net语言。 它将.NET Framework和公共语言运行库的强大功能与作为Visual Basic标志的生产力优势相结合。 与VB不同,VB .Net是全部面向对象的语言,支持面向对象的四个基本属性: 抽象,继承,封装,多态。 Visual Basic.NET集成了以下的特点: 有两种新的窗体方式——Windows窗体和Web窗体...

~Phoenix

很好的一个wpf效果demo

很好的一个wpf效果demo,不放运行来看看 顺便学习下

zhushoudongzhu

成品的网站,什么都都有,下载就能用

一个公司自己做的成熟的网站,绝对是完整的成品企业网站,上传上来和大家分享,顺便换点积分下东西!

zhaoji_qing

产教融合实训基地与实践中心建设逻辑图-可编辑版

产教融合实训基地与实践中心建设逻辑图-可编辑版

龙猫与奥特曼
评论 47
收藏 已收藏
分享
返回顶部
marke
VB 16,718 成员 110,520 内容