1. ตัวเลขบนบัตรประชาชนจะมีทั้งหมด 13 หลัก นำเลขใน 12 หลักแรก มาคูณกับเลขประจำตำแหน่ง (เลขประจำหลักได้แก่ 13 บวก 1 ลบด้วยตำแหน่งที่) จะได้ตัวเลขประจำตำแหน่งดังนี้
ตำแหน่งที่ | เลขประจำตำแหน่ง | การคำนวณ |
---|---|---|
1 | 13 | 13+1-1 |
2 | 12 | 13+1-2 |
3 | 11 | 13+1-3 |
4 | 10 | 13+1-4 |
5 | 9 | 13+1-5 |
6 | 8 | 13+1-6 |
7 | 7 | 13+1-7 |
8 | 6 | 13+1-8 |
9 | 5 | 13+1-9 |
10 | 4 | 13+1-10 |
11 | 3 | 13+1-11 |
12 | 2 | 13+1-12 |
** 13 ที่ใช้ในการคำนวณคือจำนวนตัวเลขทั้งหมดที่ต้องการตรวจสอบ
2. หลังจากนั้นเอาผลคูณของทั้ง 12 หลักมารวมกัน แล้ว modulation (การหารเอาเศษ) ด้วย 11
3. เอาเศษที่ได้จากการหารในข้อ 2 มาลบด้วย 11 เท่านี้ก็ได้เลขที่เป็น Check Digit แล้ว (ถ้าผลจากข้อ 2 ได้ 10 ให้เอาเลขหลักหน่วยเป็น Check Digit ก็คือ 0 นั้นเอง)
ตัวอย่าง 1-2345-67890-12-9นำไปคูณเลขประจำตำแหน่ง (1*13)+(2*12)+(3*11)+(4*10)+(5*9)+(6*8)+(7*7)+(8*6 )+(9*5)+(0*4)+(1*3)+(2*2) = 352modulation 11 .... 352%11= 0
นำ 11 ตั้งแล้วลบด้วย 0 11 - 0 = 11 เอาเลขหลักหน่วย ดังนั้น Check Digit คือ 1นี้มันเลขที่บัตรประชาชนไม่ถูกต้องนี้ ที่ถูกต้องคือ 1-2345-67890-12-1
โดยหลักการคำนวนนี้ สามารถใช้กับเลข 10 หลักอย่างเลขที่บัญชีได้อีกด้วย
ตัวอย่าง 123-4-56789-6
นำไปคูณเลขประจำตำแหน่ง (1*10)+(2*9)+(3*8)+(4*7)+(5*6)+(6*5)+(7*4)+(8*3)+( 9*2) = 210 modulation 8 .... 210%8= 2นำ 8 ตั้งแล้วลบด้วย 2.... 8 - 2 = 6 เอาเลขหลักหน่วยดังนั้น Check Digit คือ 6นี้มันเลขที่บัญชีที่ถูกต้อง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น