C#身份证号码验证是否正确
C#实现身份证号码验证实例代码:
protected void Page_Load(object sender, EventArgs e) { string str = "11010519491231002X"; bool result = CheckCardId(str); if (result == true) { Response.Write("Yes!"); } else { Response.Write("No!"); } } /// <summary> /// 验证身份证是否正确 /// </summary> /// <param name="str"></param> /// <returns></returns> private static bool CheckCardId(string str) { string number17 = str.Substring(0, 17); string number18 = str.Substring(17); string check = "10X98765432"; int[] num = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; int sum = 0; for (int i = 0; i < number17.Length; i++) { sum += Convert.ToInt32(number17[i].ToString()) * num[i]; } sum %= 11; if (number18.Equals(check[sum].ToString(), StringComparison.OrdinalIgnoreCase)) { return true; } else { return false; } }
18位身份证号码最后一位校验码的计算方法公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
校验方法:
(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)计算模Y = mod(S, 11)
(3)通过模得到对应的校验码Y: 0 1 2 3 4 5 6 7 8 9 10校验码: 1 0 X 9 8 7 6 5 4 3 2
以上就是关于C#实现身份证号码验证的方法,希望对大家的学习有所帮助。
上一篇:C#中的事务用法实例分析
栏 目:C#教程
本文标题:C#身份证号码验证是否正确
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6937.html
您可能感兴趣的文章
- 01-10关于nancy中的身份验证
- 01-10基于C#实现简单离线注册码生成与验证
- 01-10c#实现识别图片上的验证码数字
- 01-1012306奇葩验证码引发思考之C#实现验证码程序
- 01-10基于C#实现12306的动态验证码变成静态验证码的方法
- 01-10使用C#写了一个可以推算火车票身份证号码的小程序
- 01-10基于C#实现手机号码归属地接口调用
- 01-10理解C#生成验证码的过程
- 01-10mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆
- 01-10SMTP客户端未通过身份验证等多种错误解决方案分享
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频 器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10SublimeText编译C开发环境设置
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 04-02jquery与jsp,用jquery
- 01-11ajax实现页面的局部加载
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?