ReSuMeYaDev

เครื่องมือทั่วไป

ตรวจเลขบัตรประชาชนไทย 13 หลัก

ตรวจสอบความถูกต้องของเลขประจำตัวประชาชน 13 หลัก ด้วยอัลกอริทึม check digit มาตรฐานกรมการปกครอง — ทำงานบนเบราว์เซอร์ ไม่ส่งข้อมูลออก

  • ใช้งานฟรี
  • เลขบัตร 13 หลัก
  • ไม่ส่งออกเซิร์ฟเวอร์
  • รองรับมือถือ

คำจำกัดความ

เลขบัตรประชาชน 13 หลักคืออะไร?

เลขประจำตัวประชาชน 13 หลัก (Thai National ID) เป็นรหัสเฉพาะบุคคลที่กรมการปกครองออกให้คนสัญชาติไทยและผู้ได้รับสัญชาติ ออกครั้งแรกปี พ.ศ. 2527 และใช้เป็นเลขอ้างอิงในเอกสารราชการ การธนาคาร และบริการออนไลน์ทั่วประเทศ

โครงสร้างเลข 13 หลักแบ่งเป็น 5 ส่วน: ประเภทบุคคล (1) / รหัสจังหวัด+อำเภอ (4) / รหัสกลุ่มบุคคล (5) / ลำดับที่ (2) / check digit (1) หลักสุดท้ายคือตัวตรวจสอบความถูกต้องของทั้งชุดเลข

Check Digit

อัลกอริทึมตรวจ Check Digit

หลักการ: คูณเลข 12 หลักแรกด้วยน้ำหนัก 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 แล้วรวมผลคูณ นำไป mod 11 และเอา 11 ลบผลที่ได้ mod 10 = check digit ที่ถูกต้อง

  1. 1 คูณเลขหลักที่ 1 × 13, หลักที่ 2 × 12, ... , หลักที่ 12 × 2
  2. 2 รวมผลคูณทั้งหมด เป็น S
  3. 3 คำนวณ (11 − (S mod 11)) mod 10 = check digit
  4. 4 ถ้าค่า check digit ที่คำนวณตรงกับหลักที่ 13 แสดงว่าเลขถูกต้อง

โครงสร้าง

โครงสร้างเลข 13 หลัก

  • หลักที่ 1 — ประเภทบุคคล (0=ชาวต่างด้าว/ไร้สถานะ, 1-2=คนไทยเกิดก่อน/หลัง พ.ศ. 2527, 3-8=กลุ่มพิเศษต่างๆ)
  • หลักที่ 2-3 — รหัสจังหวัดที่แจ้งเกิด/ขึ้นทะเบียน (10 = กรุงเทพฯ)
  • หลักที่ 4-5 — รหัสอำเภอ/เขต
  • หลักที่ 6-10 — รหัสกลุ่มบุคคลในทะเบียนราษฎร
  • หลักที่ 11-12 — ลำดับที่ในกลุ่ม
  • หลักที่ 13 — Check Digit ตรวจสอบความถูกต้อง

กรณีใช้งาน

กรณีใช้งาน

  • ตรวจ validation ฟอร์มสมัครสมาชิกหรือลงทะเบียนบริการออนไลน์ก่อนส่งไปเซิร์ฟเวอร์
  • ตรวจ typo เวลากรอกเอกสารที่ต้องใช้เลขบัตรประชาชนจำนวนมาก
  • ทดสอบระบบในขั้น dev ว่า regex / algorithm ตรวจสอบถูกต้อง
  • ตรวจคร่าวๆ ว่าเลขที่ได้รับมาจากลูกค้าไม่ได้ generate แบบมั่ว
  • ใช้ในงานบัญชี HR หรือโรงพยาบาลที่ต้องบันทึกเลขบัตรประชาชนจำนวนมาก

ข้อควรรู้

ข้อควรรู้

  • Check digit ตรวจแค่รูปแบบเลข ไม่ได้ยืนยันว่าเลขนั้นมีตัวตนจริงในระบบทะเบียนราษฎร
  • เลข 13 หลักเป็นข้อมูลส่วนบุคคล (PDPA) ห้ามเก็บ/ส่งต่อโดยไม่ได้รับความยินยอม
  • เว็บไซต์ที่ใช้ตรวจเลขบัตรประชาชนควรทำฝั่ง client-side เท่านั้น เพื่อไม่ให้ข้อมูลรั่วไหล
  • ระวังปัญหา leading zero — เลขจังหวัดอาจขึ้นต้นด้วย 0 ในบางระบบ
  • เครื่องมือนี้ทำงานในเบราว์เซอร์ล้วน ไม่ส่งเลขออกไปเซิร์ฟเวอร์

FAQ

คำถามที่พบบ่อย

01 เลขบัตรที่ผ่าน check digit = มีตัวตนจริงไหม?

ไม่ check digit ตรวจแค่ว่ารูปแบบเลขถูกต้องตามอัลกอริทึม ไม่ได้ยืนยันว่าเลขนั้นมีเจ้าของจริงหรือเป็นเลขที่กรมการปกครองออก ต้องตรวจกับฐานข้อมูลทะเบียนราษฎรถึงจะยืนยันได้

02 เลขบัตรประชาชนขึ้นต้นด้วย 0 ได้ไหม?

ได้ หลักแรก 0 หมายถึงชาวต่างด้าวหรือผู้ไร้สถานะทางทะเบียน เครื่องมือตรวจของเรารองรับทุกประเภท

03 ข้อมูลที่กรอกถูกส่งไปเซิร์ฟเวอร์ไหม?

ไม่ การตรวจทั้งหมดเกิดในเบราว์เซอร์ของคุณ ไม่มีการส่งเลขไปยังเซิร์ฟเวอร์ใดๆ ปลอดภัยตามหลัก PDPA

04 ใช้เลขบัตรประชาชนเป็น primary key ได้ไหม?

ไม่แนะนำ เพราะเป็นข้อมูลส่วนบุคคลที่เปลี่ยนไม่ได้ หาก leak จะเป็นปัญหาถาวร ควรใช้ UUID หรือ sequence เป็น primary key แล้วเก็บเลขบัตรเป็น unique field ที่เข้ารหัส

อ้างอิง

  1. กรมการปกครอง กระทรวงมหาดไทย — เลขประจำตัวประชาชน 13 หลัก
  2. พระราชบัญญัติการทะเบียนราษฎร พ.ศ. 2534
  3. พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA)

เครื่องมือนี้ตรวจเฉพาะ check digit ตามอัลกอริทึมมาตรฐาน ไม่ได้ยืนยันการมีอยู่จริงของบุคคล ข้อมูลทั้งหมดทำงานในเบราว์เซอร์ ไม่ส่งออกไปเซิร์ฟเวอร์

ทั่วไป

เครื่องมือคำนวณฟรีอื่น ๆ ที่คุณอาจสนใจ

ดูทั้งหมดในหมวดนี้

ต้องการเครื่องมือคำนวณสำหรับธุรกิจของคุณ?

ReSuMeYaDev รับพัฒนาเว็บไซต์ เครื่องมือคำนวณ และระบบภายในตามความต้องการ — Laravel, Vue, Nuxt, Go, Rust