WPF身份证自动验证并获取部分身份信息

在这给大家分享一个在WPF文本框中输入身份证自动验证是否正确,并根据所输入的身份信息自动获取地址、年龄、性别、以及出生日期
首先在XAML中创建一个个文本框,并给这个文本框定义文本改变事件,添加Name值
WPF身份证自动验证并获取部分身份信息
WPF身份证自动验证并获取部分身份信息
创建一个封装类,类名自取,在类中实例化哈希代码用于封装方法
WPF身份证自动验证并获取部分身份信息
在类中创建一个方法,根据哈希代码创建集合,在集合中添加地区编码(这里展示部分,完整网上有)
WPF身份证自动验证并获取部分身份信息
在类再封装一个方法用于身份证获取地址信息:声明一个字符串类型的参数p_Numb6,if判断其字符串长度如果等于6位,调用上面封装好的地区编码方法,并通过建匹配值,如果编码中没有这个值返回空,如果不为空返回对应的地址信息
WPF身份证自动验证并获取部分身份信息
引用命名空间用于正则
WPF身份证自动验证并获取部分身份信息

在文本改变事件中定义一个字符串变量接收页面传递过来的数据
WPF身份证自动验证并获取部分身份信息
添加一个try…catch捕捉错误,判断页面传输过来的数据的长度是否等于18位,如果等于18位进行正则判断,如果不匹配正则返回提示,并清空页面文本框
WPF身份证自动验证并获取部分身份信息
如果匹配,添加变量获取页面传输数据,截取页面传输过来的数据的位数
在身份证中身份证前6位表示地区编码,第7-10位表示出生年,第11-12位表示出生月,第13-14表示出生日
WPF身份证自动验证并获取部分身份信息
实例化控件项目并给页面文本框绑定值,在中国人们说年龄常说自己虚岁多少
WPF身份证自动验证并获取部分身份信息
绑定性别,在页面因为用的是下拉框,所以这里绑定的是数据库对应性别的ID
在身份证中判断性别根据其倒数第二位是奇数还是偶数,奇数为男,偶数为女,在数学中判断奇偶数整除二
WPF身份证自动验证并获取部分身份信息
添加if判断当页面身份证输入六位的时候就调用封装类中的封装方法获取地址信息,在判断中再添加一个判断如果页面传输数据与封装方法中不匹配返回提示框,如果匹配就获取封装方法中的地址信息绑定到页面文本框,如果页面传递数据小于6位,清空页面文本框
WPF身份证自动验证并获取部分身份信息
结果图:
WPF身份证自动验证并获取部分身份信息
WPF身份证自动验证并获取部分身份信息