18位身份证校检程序vs2010
此程序只用于学习研究,请勿用于非法活动。下载后请于24小时内删除。否则,后果自负。 Public Class Form1 Dim wi() As Integer = {0, 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2} Dim ai() As String = {"0", "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"} Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(isTrue(TextBox1.Text)) End Sub .... ’界面一个文本框,限制字符长度为18 ’一个确定按钮 张志晨 根据提供的信息,我们可以了解到这是一段使用Visual Basic .NET(VB.NET)编写的代码,用于验证中国大陆18位身份证号码的有效性。以下是对该程序的关键知识点进行详细解析: ### 一、程序概述 该程序主要功能是验证输入的18位身份证号码是否合法。它通过计算身份证号码前17位数字的加权和,并与第18位校验码进行比对来判断整个号码的正确性。程序使用了Visual Studio 2010作为开发环境。 ### 二、核心代码解析 #### 1. 变量定义 ```vb Public Class Form1 Dim wi() As Integer = {0, 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2} Dim ai() As String = {"0", "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"} ``` - **wi数组**:存储了前17位数字对应的加权值。 - **ai数组**:存储了根据加权求和后的结果所对应的校验码。 #### 2. 程序流程 - 用户在文本框`TextBox1`中输入18位身份证号码。 - 点击按钮`Button1`触发事件处理函数`Button1_Click`。 - 调用`isTrue`函数进行身份证号码有效性检查。 - 根据检查结果弹出消息框显示验证结果。 #### 3. 校验算法实现 ```vb Function isTrue(ByVal ID As String) As String Dim n As Integer = 0 Dim i As Int16 = 0 For i = 1 To 17 n = (n + Mid(ID, i, 1) * wi(i)) Mod 11 Next If LCase(Mid(ID, 18, 1)) = LCase(ai(n + 1)) Then Return "正确" Else Return "不正确!应为:" & LCase(ai(n + 1)) End If End Function ``` - **计算加权和**:遍历前17位数字,分别乘以其对应的权重,并累加起来。 - **计算余数**:将加权和对11取模得到余数`n`。 - **校验码验证**:比较输入身份证号码中的第18位字符与根据余数`n`查找出来的校验码是否一致。 ### 三、用户界面设计 根据描述,界面包含一个文本框和一个确定按钮: - **文本框**:用于输入18位身份证号码。 - **确定按钮**:点击后调用`isTrue`函数验证号码,并显示结果。 ### 四、注意事项 - 该程序仅供学习研究使用,请勿用于非法活动。 - 下载后需在24小时内删除,否则自行承担法律责任。 - 程序作者:张志晨 ### 五、扩展知识点 - **身份证号码结构**:18位身份证号码由地址码、出生日期码、顺序码和校验码四部分组成。 - **校验码算法**:采用模11加权和的方式进行校验,最后一位校验码可能是数字或大写字母“X”。 通过以上解析可以看出,这段代码实现了一个简单而有效的18位身份证号码验证程序,对于理解身份证号码的结构及其校验机制具有一定的参考价值。
- 粉丝: 2
- 资源: 65
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 两相步进电机FOC矢量控制Simulink仿真模型 1.采用针对两相步进电机的SVPWM控制算法,实现FOC矢量控制,DQ轴解耦控制~ 2.转速电流双闭环控制,电流环采用PI控制,转速环分别采用PI和
- VMware虚拟机USB驱动
- Halcon手眼标定简介(1)
- (175128050)c&c++课程设计-图书管理系统
- 视频美学多任务学习中PyTorch的多回归实现-含代码及解释
- 基于ssh员工管理系统
- 5G SRM815模组原理框图.jpg
- T型3电平逆变器,lcl滤波器滤波器参数计算,半导体损耗计算,逆变电感参数设计损耗计算 mathcad格式输出,方便修改 同时支持plecs损耗仿真,基于plecs的闭环仿真,电压外环,电流内环
- 毒舌(解锁版).apk
- 显示HEX、S19、Bin、VBF等其他汽车制造商特定的文件格式