กลุ่มผู้ดูแลระบบแห่งประเทศไทย กลุ่มผู้ดูแลระบบแห่งประเทศไทย
2 กันยายน 2014, 06:23:03 *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

Thaiadmin on Social NetworkThaiadmin on TwitterThaiadmin on Facebook Group

ข่าว:
  หน้าแรก   เวบบอร์ด   ค้นหา ช่วยเหลือ เจ้าหน้าที่ เข้าสู่ระบบ ลืมรหัสผ่าน? คำเแนะนำ สมัครสมาชิก Register via Facebook Register via Google+  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » Web Development » หัวข้อ:
|-+ ตรวจสอบหมายเลขบัตรประจำตัวประชาชน ด้วย JavaScript


หน้า: [1]   ลงล่าง
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
ผู้เขียน หัวข้อ: ตรวจสอบหมายเลขบัตรประจำตัวประชาชน ด้วย JavaScript  (อ่าน 22619 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
m3rlinez
บุคคลทั่วไป
« เมื่อ: 4 มิถุนายน 2006, 18:06:52 »

เห็นบอร์ดว่างๆครับ โพสต์ซะหน่อย  Grin

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

ที่บอกว่าตรวจสอบไม่ได้หมายความว่าตรวจสอบว่าหมายเลขบัตรนี้มีจริงหรือไม่นะครับ แต่หมายถึงตรวจสอบว่าอยู่ในรูปแบบที่ถูกต้องรึเปล่า สำหรับการตรวจสอบว่ามีอยู่จริงหรือไม่อาจตรวจสอบผ่านเว็บเซอร์วิส รายละเอียดที่ http://www.rd.go.th/webservice/new/tin.html

คือในหมายเลขบัตรปปช 13 หลักนี่ หลักสุดท้ายจะเป็นหลักที่เรียกว่า Check Digit เอาไว้ตรวจสอบความถูกต้องของบัตร

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

ประโยชน์ของการมี Check Digit ก็มีหลายอย่าง เช่น มันป้องกันคนใส่หมายเลขบัตรมั่วๆได้ส่วนหนึ่ง (90%) หรือในการอ่านบาร์โค้ดซึ่งอาจเกิดความผิดพลาดได้ (ความผิดพลาดจากเครื่องมืออ่าน) เราก็เอาชุดตัวเลขที่อ่านได้จากเครื่องมาทดสอบดู ว่า Check Digit ในข้อมูลชุดที่อ่านได้ สอดคล้องกับตัวเลขอื่นๆในข้อมูลชุดเดียวกันรึเปล่า

สำหรับวิธีการหา Check Digit ผมขอยกมาจาก http://www.cp.eng.chula.ac.th/webboard/viewtopic.php?t=4602
อ้างถึง
ออออออออ
Guest

 Post Posted: Thu May 18, 2006 11:55 am    Post subject:    
Reply with quote
เลข 13 หลักใช่มั้ยครับ

ให้นำหลักแรก (ทางซ้ายสุด คูณ 13)
บวกกับ (หลักต่อมา คูณ 12)
บวกกับ (หลักต่อมา คูณ 11)
ไปเรื่อยๆจนถึง หลักก่อนสุดท้าย คูณ สอง

นำผลลัพธ์มา mod ด้วย 11 แล้วนำไปหักออกจาก 11 จะได้หลักสุดท้าย

เช่น สมมติให้เลขเป็น 0123456789 121

ให้นำ 0 * 13 + 1 * 12 + 2 * 11 + ..... + 2 * 2 = 307

307 mod 11 ได้ 10
เอา 11 - 10 ได้ 1
ได้หลักสุดท้ายเป็น 1 แสดงว่า เลขประจำตัว ถูกต้อง (แต่ไมได้บอกว่ามีจริง)

แล้วก็เพิ่มเติมนิดหน่อย คือถ้าหลังหักออกจาก 11 แล้วมันกลายเป็นเลขสองหลัก ก็ตัดให้เป็นหลักเดียว (คือหลักสุดท้าย)

แต่วิธีการข้างต้นนี้ หลายคนเอาไปลองแล้วปรากฎว่าออกมาไม่ตรงครับ แต่ของผมเองและคนอีกกลุ่มก็ออกมาตรง ยังไงว่างๆลองตรวจของตัวเองดูนะครับว่าตรงรึเปล่า

เย็นวันนี้ผมว่าง (แต่พรุ่งนี้เปิดเทอมแล้ว) ผมได้เขียนตัวอย่างโปรแกรมสำหรับตรวจหมายเลขบัตรประจำตัวประชาชนด้วย JavaScript ขึ้นมาด้วย โดยเช็คตามวิธีข้างบนนี้ เอามาให้เป็นตัวอย่างสำหรับคนที่อยากศึกษา JavaScript ให้มากขึ้นครับ  Afro


*  (0.92 KB - ดาวน์โหลด 1258 ครั้ง.)
Share topic : บันทึกการเข้า
กลุ่มผู้ดูแลระบบแห่งประเทศไทย
   


โปรดอ่านกฎกติกาก่อนแสดงความคิดเห็น


1. โปรดงดเว้น การใช้คำหยาบคาย ส่อเสียด ดูหมิ่น กล่าวหาให้ร้าย สร้างความแตกแยก หรือกระทบถึงสถาบันอันเป็นที่เคารพ
2. ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นเวบบอร์ดโดยอัตโนมัติจากบุคคลทั่วไปและสมาชิก
ซึ่งทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย มิได้มีส่วนร่วมรู้เห็น หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น
และไม่สามารถนำไปอ้างอิงทางกฎหมายได้
3. หากท่านพบเห็นข้อความ หรือรูปภาพในกระทู้ที่ไม่เหมาะสม กรุณาแจ้งทีมงานทราบ เพื่อดำเนินการต่อไป
4. ทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอสงวนสิทธิ์ในการลบความคิดเห็น โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของความคิดเห็นนั้น

 บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » Web Development » หัวข้อ:
|-+ ตรวจสอบหมายเลขบัตรประจำตัวประชาชน ด้วย JavaScript


 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 Thaiadmin Edition | Sitemap| SMF © 2013, Simple Machines
Thai Language by ThaiSMF. Modifications by Thailand System Administrator Group.
Valid XHTML 1.0! Valid CSS!

หน้านี้ถูกสร้างขึ้นภายในเวลา 0.084 วินาที กับ 23 คำสั่ง

Google visited last this page วันนี้ เวลา 01:43:58