C#台湾身份证合法性验证
来源:互联网 发布:ubuntu vi指令 编辑:程序博客网 时间:2024/05/15 00:51
國民身分證統一編號檢查方法
字母
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
數值
10
11
12
13
14
15
16
17
34
18
19
20
21
22
35
23
24
25
26
27
28
29
32
30
31
33
以國民身分證統一編號B120667503為例:
區性 檢
域別 查
碼碼 碼
一、找出第一位英文字母的對應數值。
二、對應數值之個位數值乘以9,再加上十位數之值,其總和再除以10,所得之餘數為個位對應值:
例:B之對應數值為11,則其個位對應值=0
因為:【1+(1×9)】÷10,其餘數為0
三、經前述步驟將第一位英文字母轉換後,產生一個十位數字的數列:
如:B120667503→0120667503
四、再將這一數列依序乘以1、8、7、6、5、4、3、2、1
0×1=00
1×8=08
2×7=14
0×6=00
6×5=30
6×4=24
7×3=21
5×2=10
0×1=00
―――
107
五、再將此總和值除以10,再取其餘數
107÷10 餘數7
六、再取這一餘數之補數
7之補數為3
七、3與檢查碼相符,此國民身分證統一編號符合邏輯檢查。
#region 臺灣身份證號碼驗證
private bool CheckIDCard_CHT(string IDCard)
{
string strFirstCode="";
if(IDCard.Length!=10)
{
return false;//长度必需为10
}
if(IDCard.Substring(1,1)!="1"&&IDCard.Substring(1,1)!="2")
{
return false;//第二位必需是1=男或者2=女
}
switch(IDCard.Substring(0,1))
{
case "A":
strFirstCode="10";
break;
case "B":
strFirstCode="11";
break;
case "C":
strFirstCode="12";
break;
case "D":
strFirstCode="13";
break;
case "E":
strFirstCode="14";
break;
case "F":
strFirstCode="15";
break;
case "G":
strFirstCode="16";
break;
case "H":
strFirstCode="17";
break;
case "I":
strFirstCode="34";
break;
case "J":
strFirstCode="18";
break;
case "K":
strFirstCode="19";
break;
case "L":
strFirstCode="20";
break;
case "M":
strFirstCode="21";
break;
case "N":
strFirstCode="22";
break;
case "O":
strFirstCode="35";
break;
case "P":
strFirstCode="23";
break;
case "Q":
strFirstCode="24";
break;
case "R":
strFirstCode="25";
break;
case "S":
strFirstCode="26";
break;
case "T":
strFirstCode="27";
break;
case "U":
strFirstCode="28";
break;
case "V":
strFirstCode="29";
break;
case "W":
strFirstCode="32";
break;
case "X":
strFirstCode="30";
break;
case "Y":
strFirstCode="31";
break;
case "Z":
strFirstCode="33";
break;
default:
return false;
}
int iAllNum=Convert.ToInt32(strFirstCode.Substring(0,1))+
Convert.ToInt32(strFirstCode.Substring(1,1))*9+
Convert.ToInt32(IDCard.Substring(1,1))*8+
Convert.ToInt32(IDCard.Substring(2,1))*7+
Convert.ToInt32(IDCard.Substring(3,1))*6+
Convert.ToInt32(IDCard.Substring(4,1))*5+
Convert.ToInt32(IDCard.Substring(5,1))*4+
Convert.ToInt32(IDCard.Substring(6,1))*3+
Convert.ToInt32(IDCard.Substring(7,1))*2+
Convert.ToInt32(IDCard.Substring(8,1))*1+
Convert.ToInt32(IDCard.Substring(9,1))*1;
if(iAllNum%10!=0)
{
return false;
}
return true;
}
#endregion
- C#台湾身份证合法性验证
- js 验证身份证合法性
- 身份证验证合法性
- 验证身份证的合法性
- Java验证身份证合法性
- JS验证身份证的合法性
- 简单身份证合法性验证JAVA
- IDcard 验证代码----新身份证合法性验证
- 验证身份证的合法性JS代码
- C#中华人民共和国身份证验证
- C#中华人民共和国身份证验证
- C#中国身份证验证
- C#中国身份证验证
- C#中国身份证验证
- C#实现身份证验证
- C#身份证格式验证
- 身份证验证算法C#
- C#身份证验证
- 使Asp.net的Button 在提交之前进行JavaScript验证
- Linux下缓存服务器Memcached的应用
- 中国贫富标准线
- 安装JAVA环境支持
- javascript错误处理(1)
- C#台湾身份证合法性验证
- Web站点数据库分布存储浅谈
- javascript错误处理(2)
- 多媒体应用环境设置
- 让SQL2000企业版在WINXP中使用
- Ubuntu安装英汉辞典
- 谷歌Android手机原型正式亮相3GSM大会
- 进销存设计与分析_销售单(5)
- Ubantu安装设置Firefox浏览器