討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 下載Alexa Toolbar讓你上網更有趣 政府補助!資策會APP就業班
[ 回上頁 ] [ 討論區發言規則 ]
身證份字號檢查
更改我的閱讀文章字型大小
作者 : kaizan(kaizan)
[ 貼文 6 | 人氣 694 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/6/19 下午 03:02:30
請想若一個字串,如何判斷他是否為一個有效的身份證號碼
是否有範例可以直接使用,謝謝
作者 : bywind(JJ)
[ 貼文 38 | 人氣 3314 | 評價 180 | 評價/貼文 4.74 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/6/19 下午 03:53:49
你在Google輸入「身份証字號公式」就會看到一堆.....
作者 : kaizan(kaizan)
[ 貼文 6 | 人氣 694 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/6/19 下午 04:47:29
以下為找到的公式...
/****************/
/* 身份証號檢查 */
/****************/
/*
(一)長度:對照表
字母 A B C D E F G H J K L M N
編號 10 11 12 13 14 15 16 17 18 19 20 21 22
字母 P Q R S T U V X Y W Z I O
編號 23 24 25 26 27 28 29 30 31 32 33 34 35
(二)計算公式
1.( 轉換後,身份証號變成 11 碼 ,前二碼即為 L1,L2)
A 1 2 3 4 5 6 7 8 9
1 0
2.各數字分別乘:1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1

(三)範例 G220903332
位數 1 2 3 4 5 6 7 8 9 10 11
編號 1 6 2 2 0 9 0 3 3 3 2
  * 1 9 8 7 6 5 4 3 2 1 1
乘積 1 54 16 14 0 45 0 9 6 3 2
1+ 54+16 +14 +0+ 45+0+ 9+ 6+ 3+ 2 = 150
因 150 能被 10 整除,故身分證統一編號正確。
___________________________________________
是否有無寫好的範例可以直接呼叫呢?
作者 : bihshan(bihshan)
[ 貼文 81 | 人氣 4450 | 評價 170 | 評價/貼文 2.1 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/6/25 上午 12:02:18

以下的程式碼可以試試看
static bool CHECKID(string ID)
{
if(ID.Length!=10)return false;
string NEWID="";
int [] MULT = new int[]{1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1 };
int SUM=0;
bool RESULT=true;
switch(ID.Substring(0,1).ToUpper())
{
case "A":
NEWID="10";
break;
case "B":
NEWID="11";
break;
case "C":
NEWID="12";
break;
case "D":
NEWID="13";
break;
case "E":
NEWID="14";
break;
case "F":
NEWID="15";
break;
case "G":
NEWID="16";
break;
case "H":
NEWID="17";
break;
case "J":
NEWID="18";
break;
case "K":
NEWID="19";
break;
case "L":
NEWID="20";
break;
case "M":
NEWID="21";
break;
case "N":
NEWID="22";
break;
case "P":
NEWID="23";
break;
case "Q":
NEWID="24";
break;
case "R":
NEWID="25";
break;
case "S":
NEWID="26";
break;
case "T":
NEWID="27";
break;
case "U":
NEWID="28";
break;
case "V":
NEWID="29";
break;
case "X":
NEWID="30";
break;
case "Y":
NEWID="31";
break;
case "W":
NEWID="32";
break;
case "Z":
NEWID="33";
break;
case "I":
NEWID="34";
break;
case "O":
NEWID="35";
break;
default:
return false;
break;
}
NEWID+=ID.Substring(1,9);
for (int i=0;i<NEWID.Length;i++)
{
SUM+=int.Parse(NEWID.Substring(i,1))*MULT[i];
}
if(SUM%10!=0)RESULT=false;
return RESULT;
}
 板主 : 小朱
 > C# - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C# - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C#
1 小朱 6260 
2 蹂躪 2700 
3 HKLN.net 2440 
4 marlon 2130 
5 joe 1260 
6 識丁 910 
7 好說 860 
8 愛睏魚 770 
9 總幹事 720 
10 Demonbane 600 
C#
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875