写了个C#验证公民身份证合法格式的函数
来源:互联网 发布:ps制作淘宝首页 编辑:程序博客网 时间:2024/05/05 01:20
#region 判断身份号码测试
public static bool IdCard(String icd) {
bool result = false;
try
{
Regex reg = new Regex(@"^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$");
if (reg.IsMatch(icd))
{
int iSum = 0;
for (int i = 17; i >= 0; i--)
{
iSum += (int)(System.Math.Pow(2, i) % 11) * int.Parse(icd[17 - i].ToString(), System.Globalization.NumberStyles.HexNumber);
}
if (iSum % 11 == 1)
{
string Mybirth = icd.Substring(6, 8).Insert(6, "-").Insert(4, "-");
DateTime Mytime = new DateTime();
if (DateTime.TryParse(Mybirth, out Mytime))
{
if (Mytime.Year > 1940)
{
result = true;
}
}
}
}
}
catch (Exception)
{
}
return result;
}
public static bool IdCard(String icd) {
bool result = false;
try
{
Regex reg = new Regex(@"^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$");
if (reg.IsMatch(icd))
{
int iSum = 0;
for (int i = 17; i >= 0; i--)
{
iSum += (int)(System.Math.Pow(2, i) % 11) * int.Parse(icd[17 - i].ToString(), System.Globalization.NumberStyles.HexNumber);
}
if (iSum % 11 == 1)
{
string Mybirth = icd.Substring(6, 8).Insert(6, "-").Insert(4, "-");
DateTime Mytime = new DateTime();
if (DateTime.TryParse(Mybirth, out Mytime))
{
if (Mytime.Year > 1940)
{
result = true;
}
}
}
}
}
catch (Exception)
{
}
return result;
}
#endregion
综合网上代码,自己组装测试了一下。。
0 0
- 写了个C#验证公民身份证合法格式的函数
- C#身份证格式验证
- 自己写的一个身份证验证函数
- C#身份证验证封装的函数方法
- java验证公民身份证真实性
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载]
- C#实现的18位身份证格式验证算法[转载]
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载]
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- Java Socket+mysql之实现简易文件上传器
- 写给Android开发者的混淆使用手册
- 作业小总结
- cacti--------(1)监控环境的搭建
- 字符串查找问题,求解字符串的周期(KMP算法)
- 写了个C#验证公民身份证合法格式的函数
- jsp页面中的注释 comment
- hdu1465不容易系列之一
- 8大排序算法图文讲解
- 类和对象(一)
- 营养与维生素
- Struct2.0 后台list数据传递到前端jsp面
- 【Matplotlib】详解图像各个部分
- C++ 头文件相互包含问题的解决