
验证身份证
发布日期:2021-05-10 10:48:33
浏览次数:20
分类:精选文章
本文共 978 字,大约阅读时间需要 3 分钟。
自己用的身份证号验证函数
/// <summary>
/// 验证身份证 /// 1.校验生日 /// 2.校验最后一位(校验和) /// </summary> /// <param name="txt">ID</param> /// <returns>结果</returns> public static bool RegexIDCared(string txt) { bool res = new Regex(@"^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$").IsMatch(txt); if (res) { res = false; // 校验表 int[] check = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; char[] checkSum = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' }; // 校验源 string checkSource = txt.Substring(0, 17); // 校验源转换成数字 List<int> source = new List<int>(); for (int i = 0; i < checkSource.Length; i++) { source.Add(Convert.ToInt32(checkSource.Substring(i, 1))); } // 校验源的校验和 string checkLast = txt.Substring(17); int sum = 0; // 对应项求积,再把所有积求和 for (int i = 0; i < source.Count; i++) { sum += source[i] * check[i]; } // 取余 int remainder = sum % 11; if (string.Equals(checkLast, checkSum[remainder].ToString())) { res = true; } } return res; }发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月08日 15时12分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于高斯模糊核
2021-05-10
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2021-05-10
vue解决数据更新,界面未更新的方法
2021-05-10
我用wxPython搭建GUI量化系统之wx.grid实现excel功能
2021-05-10
我用wxPython搭建GUI量化系统之wx.Toolbar实现工具栏
2021-05-10
我用wxPython搭建GUI量化系统之wx.TextCtrl实现文本框
2021-05-10
我用wxPython搭建GUI量化系统之最小架构的运行
2021-05-10
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
2021-05-10
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2021-05-10
我用wxPython搭建GUI量化系统之Pandas特性的财务选股工具
2021-05-10
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
2021-05-10
搭建量化系统|wxPython布局管理实现多只股票走势对比界面
2021-05-10
对双向链表的学习
2021-05-10
2019年达观杯文本智能信息抽取挑战赛 四到十名队伍分享
2021-05-10
一文掌握Python正则表达式
2021-05-10
selenium+python之切换窗口
2021-05-10
Unknown database ‘modd‘
2021-05-10
重载和重写的区别:
2021-05-10
finally,final,finalize() 的区别
2021-05-10