รายละเอียดบริการลงโฆษณา
 บริการจดโดเมนเนม เว็บไซด์ .Com, .Net, .Org เพียง 550 บาท / ปี    สำหรับโดเมนอื่นๆ คลิกเพื่อดูรายละเอียด สายด่วน WebSite, Domain, Hosting
 
หน้าแรกเว็บไทยดีดี      บทความรู้      เว็บบอร์ด      บริการเว็บไซต์      จดโดเมน      โฮสติ้ง ติดต่อเรา แจ้งชำระเงิน
 
การตรวจสอบรหัสบัตรประชาชน จัดทำโดย : first พิมพ์
Untitled Document การตรวจสอบรหัสบัตรประชาชน

เวลาจะตรวจสอบว่าข้อมูลที่กรอกมาถูกต้องรึเปล่า จะต้องคำนวณ Check Digit จากเลขหลักอื่นๆ
เพื่อเปรียบเทียบกับ Check Digit ที่กรอกมาว่าตรงกันมั้ย ถ้าตรงกันก็แสดงว่าข้อมูลถูกต้องไม่ผิด ไม่มั่ว
แต่ถ้าไม่ตรงกัน ก็แปลว่า ข้อมูลที่กรอกมามีข้อมูลซักหลัก หรือ สองหลักที่ผิด ก็สามารถเตือนให้ผู้ใช้ทราบและกรอกใหม่
อีกครั้งได้

Check Digit คืออะไรหนอ ?

Check Digit เป็นตัวเลข 1 หลัก ที่เกิดจากการนำเลขหลักอื่นๆ มา บวก ลบ คูณ หาร กัน และ
Check Digit นี่หละครับ จะช่วยใหตรวจสอบในเบื้องต้นได้ว่า ข้อมูลที่กรอกมาถูกต้องรึเปล่า

รหัสประจำตัวประชาชน (ขอเรียกสั้นๆว่า รหัสประชาชน) ทจะมาตรวจกันวันนี้เป็นรหัสประชาชน
ของคนไทย ก่อนอื่น ให้เพื่อนๆ หยิบบัตรประชาชนของเพื่อนๆ ขึ้นมาดูกันเลยครับ

รหัสประจำตัวจะอยู่ในรูป x-xxxx-xxxxx-xx-x (เลข 13 หลัก) แต่รู้ป่ะว่า รหัสประจำตัวจริงๆแล้วมีแค่ 12 หลักเท่านั้น (12 หลักแรก) แต่เลขตัวสุดท้ายเนี่ย เป็น Check Digit ครับ

ตัวอย่างรหัสประชาชน

1-2015-41462-23-4 Check Digit ของรหัสประชาชนนี้คือเลข 4 (เลขตัวสุดท้าย)

ขั้นตอนที่ 1 เอาเลข 12 หลักมา เขียนแยกหลักกันก่อน (หลักที่ 13 ไม่ต้องเอามา)
จะได้ 120154146223
ขั้นตอนที่ 2 เอาเลข 12 หลักนั้นมา คูณเข้ากับเลขประจำหลักของมัน รหัสบัตร 1 2 0 1 5 4 1 4 6 2 2 3 ตัวคูณ 13 12 11 10 9 8 7 6 5 4 3 2
จะได้ 1*13+2*12+0*11+1*10+5*9+4*8+1*7+4*6+6*5+2*4+2*3+3*2 ผลคูณ 13+24+0+10+45+32+7+24+30+8+6+6
ขั้นตอนที่ 3 เอาผลคูณทั้ง 12 ตัวมา บวกกันทั้งหมด จะได้ 13+24+0+10+45+32+7+24+30+8+6+6=205
ขั้นตอนที่ 4 เอาเลขที่ได้จากขั้นตอนที่ 3 มา mod 11 (หารเอาเศษ) จะได้ 205 mod 11 = 7
ขั้นตอนที่ 5 เอา 11 ตั้ง ลบออกด้วย เลขที่ได้จากขั้นตอนที่ 4 จะได้ 11-7 = 4 (จะได้ 4 เป็นเลขในหลัก Check Digit)
ถ้าเกิด ลบแล้วได้ออกมาเป็นเลข 2 หลัก ให้เอาเลขในหลักหน่วยมาเป็น Check Digit (เช่น 11 ให้เอา 1 มา, 10 ให้เอา 0 มา เป็นต้น)

ลองมาดูโปรแกรมกันดีกว่า สร้างไฟล์ชื่อ checkidcard.html พิมพ์โค้ดดังนี้นะครับ
1.เอาโค้ดส่วนนี้ไปวางในส่วนของ Head

<script language="javascript">
function checkID(id)
{
if(id.length != 13) return false;
for(i=0, sum=0; i < 12; i++)
sum += parseFloat(id.charAt(i))*(13-i); if((11-sum%11)%10!=parseFloat(id.charAt(12)))
return false; return true;}

function checkForm()
{ if(!checkID(document.form1.txtID.value))
alert('รหัสประชาชนไม่ถูกต้อง');
else alert('รหัสประชาชนถูกต้อง เชิญผ่านได้');}
</script>


2.เอาโค้ดส่วนนี้ไปวางในส่วนของ Body

<form name="form1" onsubmit="checkForm(); return false;">
รหัสประจำตัวประชาชน : <input type="text" name="txtID" />
<input type="submit" value="ตรวจสอบ" />
</form>


3.ทดลองโปรแกรมได้ที่นี่เลยนะครับ

รหัสประจำตัวประชาชน :  
หมายเหตุ เราได้เรียนรู้วิธีการตรวจสอบเบื้องต้น (ข้อย้ำว่าเบื้องต้น) เพราะรหัสประชาชนที่ผู้ใช้กรอก อาจมี Check Digit ที่ถูกต้อง แต่อาจเป็นรหัสประชาชนที่ไม่มีอยู่จริงก็ได

ที่มา : WattaR จาก http://www.widcom-nu.com/forums/index.php?showtopic=253&mode=threaded

คุณอาจสนใจ
การใช้ปุ่มสำเร็จรูป
Mr.Mean (46,844 - 04 มิ.ย. 49)
ลด Effect ของ Windows XP ลงมาซะบ้าง
เว็บไทยดีดี (13,452 - 29 ก.ย. 50)
รีเฟรชหน้าเว็บทุกแท็บในคราวเดียว IE7
เว็บไทยดีดี (13,881 - 29 ก.ย. 50)
การปรับแต่งรอยมาร์คเพื่อการตัด(ต่อจากเรื่องนามบัตร)
Lek (39,068 - 27 มิ.ย. 49)
การทำ POP-UP MENU ด้วยการวาด layer
Tung (93,479 - 23 ธ.ค. 50)
การทำฝนด้วยเครื่องมือ Particle Systems > Spary
first (22,449 - 03 พ.ค. 51)
แต่งหน้าให้ดู over กันเถอะ
langjuko (268,870 - 02 ก.ย. 51)
การสร้างสี Gradient และจัดเก็บลงใน Swatches
Mr.GuruZ (49,105 - 27 มิ.ย. 49)
หน้าแรกเว็บไทยดีดี      บทความรู้      เว็บบอร์ด      บริการเว็บไซต์      จดโดเมน      โฮสติ้ง ติดต่อเรา แจ้งชำระเงิน
บริษัท เว็บไทยดีดี จํากัด ที่อยู่ 154 ซอยสุขศรีเฉลิมพจน์ แขวงวงศ์สว่าง เขตบางซื่อ กทม. 10800
โทร. 02-910-9930-1 แฟกซ์ 02-910-9931 กด 5
©
2005-2014 All rights reserved. เลขทะเบียนพาณิชย์ 0105549132957