zoukankan
html css js c++ java
身份证验证
/**/
///
<summary>
///
Summary description for IDCardValid
///
</summary>
public
class
IDCardValid
{
public
IDCardValid()
{
//
//
TODO: Add constructor logic here
//
}
/**/
///
<summary>
///
验证身份证号码
///
</summary>
///
<param name="Id">
身份证号码
</param>
///
<returns>
验证成功为True,否则为False
</returns>
public
static
bool
CheckIDCard(
string
Id)
{
if
(Id.Length
==
18
)
{
bool
check
=
CheckIDCard18(Id);
return
check;
}
else
if
(Id.Length
==
15
)
{
bool
check
=
CheckIDCard15(Id);
return
check;
}
else
{
return
false
;
}
}
身份证号码验证
#region
身份证号码验证
/**/
///
<summary>
///
验证15位身份证号
///
</summary>
///
<param name="Id">
身份证号
</param>
///
<returns>
验证成功为True,否则为False
</returns>
private
static
bool
CheckIDCard18(
string
Id)
{
long
n
=
0
;
if
(
long
.TryParse(Id.Remove(
17
),
out
n)
==
false
||
n
<
Math.Pow(
10
,
16
)
||
long
.TryParse(Id.Replace(
'
x
'
,
'
0
'
).Replace(
'
X
'
,
'
0
'
),
out
n)
==
false
)
{
return
false
;
//
数字验证
}
string
address
=
"
11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91
"
;
if
(address.IndexOf(Id.Remove(
2
))
==
-
1
)
{
return
false
;
//
省份验证
}
string
birth
=
Id.Substring(
6
,
8
).Insert(
6
,
"
-
"
).Insert(
4
,
"
-
"
);
DateTime time
=
new
DateTime();
if
(DateTime.TryParse(birth,
out
time)
==
false
)
{
return
false
;
//
生日验证
}
string
[] arrVarifyCode
=
(
"
1,0,x,9,8,7,6,5,4,3,2
"
).Split(
'
,
'
);
string
[] Wi
=
(
"
7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2
"
).Split(
'
,
'
);
char
[] Ai
=
Id.Remove(
17
).ToCharArray();
int
sum
=
0
;
for
(
int
i
=
0
; i
<
17
; i
++
)
{
sum
+=
int
.Parse(Wi[i])
*
int
.Parse(Ai[i].ToString());
}
int
y
=
-
1
;
Math.DivRem(sum,
11
,
out
y);
if
(arrVarifyCode[y]
!=
Id.Substring(
17
,
1
).ToLower())
{
return
false
;
//
校验码验证
}
return
true
;
//
符合GB11643-1999标准
}
/**/
///
<summary>
///
验证18位身份证号
///
</summary>
///
<param name="Id">
身份证号
</param>
///
<returns>
验证成功为True,否则为False
</returns>
private
static
bool
CheckIDCard15(
string
Id)
{
long
n
=
0
;
if
(
long
.TryParse(Id,
out
n)
==
false
||
n
<
Math.Pow(
10
,
14
))
{
return
false
;
//
数字验证
}
string
address
=
"
11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91
"
;
if
(address.IndexOf(Id.Remove(
2
))
==
-
1
)
{
return
false
;
//
省份验证
}
string
birth
=
Id.Substring(
6
,
6
).Insert(
4
,
"
-
"
).Insert(
2
,
"
-
"
);
DateTime time
=
new
DateTime();
if
(DateTime.TryParse(birth,
out
time)
==
false
)
{
return
false
;
//
生日验证
}
return
true
;
//
符合15位身份证标准
}
#endregion
}
查看全文
相关阅读:
你不该知道的.NET 第零回: 不继承Object的后果 不及格的程序员
开张 不及格的程序员
用WinDBG调试器 修改 星际争霸 等游戏. 不及格的程序员
自定义服务器控件 继承不到父类/基类的 SupportsEventValidation 特性. 不及格的程序员
讨论 计算机 操作系统休眠恢复的过程. 不及格的程序员
十一期间 极品飞车13:变速 通关了 不及格的程序员
谁发明的 Ctrl + Alt + Del 组合键,以及它在Windows中的重要性. 不及格的程序员
asp.net development server 挂起问题解决
SqlServer数据库记录数大引起的一系列问题解决
完全分布模式hadoop集群安装配置之一安装第一个节点
原文地址:https://www.cnblogs.com/zijinguang/p/1238755.html
最新文章
使用XMLLISTCOLLECTION 和ARRAYCOLLECTION对象的对比
Flex中让Panel等容器可拖动
Flex中如何实现类似像QQ登录框中那种“记住密码”、“自动登录”功能,还有如何实现文本框中记录最后一次输入的值?
Flex中mx:model和mx:xml的使用
JS经典代码
个人总结flex各种用法
Flex通过css使得DataGrid 背景透明
Flex中JSON使用的一些总结
Flex 导航控件学习笔记
【C++】traits classes
热门文章
【C++】DISALLOW_COPY_AND_ASSIGN
【C++】拷贝构造函数和赋值符函数
【C++】内存泄露检测
【OpenCV学习】CudaOpenCVImageFilter
【读后感】与众不同的心理学
【最短路径问题】dijkstra 迪杰斯特拉
【C++】区分接口继承和实现继承
【C++】考虑virtual函数以外的其他选择
【读后感】暗时间
javascript 中用或运算快速取整. 不及格的程序员
Copyright © 2011-2022 走看看