OLD FoxBoard
foxboard Home FoxBoard



ยินดีต้อนรับ Guest ลงทะเบียน Login ค้นหากระทู้ แสดงรายชื่อสมาชิก
 หัวข้อสนทนาทั้งหมด
  New Foxboard
 
ชื่อเรื่อง #01214 หัวข้อ: วิธีตรวจบัตรประชาชน เชิญถาม-ตอบปัญหาได้ที่นี่ครับ ตั้งชื่อกระทู้ใหม่
ส่งข้อความโดย redfoxs วันที่ 29 ก.พ. 2551 เวลา 11:36 น. - IP Logged
มุมมอง redfoxs's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ redfoxs ค้นหา   Quote redfoxs Quote   Send Private Message ส่งข้อความ  
redfoxs
Gold Member
Gold Member
Thailand
20 ก.พ. 2550
111 Posts

วิธีเช็ค เลขบัตรประชาชน บัตรประจำตัวประชาชน

เลขบัตร 1201541462234

ขั้นตอนที่ 1 - เอาเลข 12 หลักมา เขียนแยกหลักกันก่อน (หลักที่ 13 ไม่ต้องเอามานะคร้าบ)
1 2 0 1 5 4 1 4 6 2 2 3

ขั้นตอนที่ 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

 
ผลคูณ 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 มา เป็นต้น)



-------------
{> L < }
[   ----   ]
มือปืนรับจ้าง

ส่งข้อความโดย kanta วันที่ 02 มี.ค. 2551 เวลา 10:28 น. - IP Logged
มุมมอง kanta's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ kanta ค้นหา   Quote kanta Quote   Send Private Message ส่งข้อความ  
kanta
Avatar
Gold Member
Gold Member
Thailand
30 ก.ย. 2550
149 Posts

ขอบคุณครับ


ส่งข้อความโดย myfoxii วันที่ 05 มี.ค. 2551 เวลา 14:11 น. - IP Logged
มุมมอง myfoxii's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ myfoxii ค้นหา   Quote myfoxii Quote   Send Private Message ส่งข้อความ  
myfoxii
Avatar
Gold Member
Gold Member
Thailand
20 พ.ย. 2549
175 Posts

ใช้ฟังก์ชั่นนี้ได้ครับ

ปล. ได้มาจาก ใน web นี้ครับ

Proc CheckPID
para _pid
priv _ret,sumx
_ret=.F.
_pid=iif(type('_pid')#'C','',_pid)
_pid=alldigit(_pid)
IF len(_pid)=13
 _ret=.T.
 sumx = val(left(_pid,1)) * 13
 FOR i = 2 to 12
  sumx = sumx + val(subs(_pid,i,1)) * (14 - i)
 NEXT
 IF right(_pid,1) # right(str(11-mod(sumx,11)),1)
  _ret=.F.
 ENDIF
ENDIF
retu _ret

 

Proc AllDigit
para _str
priv _ret,_chr,_seek,i
_seek=iif(type('_str')#'C','',_str)
_ret=''
FOR i=1 to len(_seek)
 _chr=subs(_seek,i,1)
 if _chr$'0123456789'
  _ret=_ret+_chr
 endif
NEXT
retu _ret


ถ้าท่านต้องการตอบคำถามที่นี่ ท่านควรจะ  Login
ถ้าท่านยังไม่ได้ลงทะเบียน ท่านควรจะ  ลงทะเบียน

กระโดดไป เชิญถาม-ตอบปัญหาได้ที่นี่ครับ ตั้งชื่อกระทู้ใหม่
พิมพ์รายงาน พิมพ์รายงาน

Powered by Vfoxware Forums ver. 1.0
Copyright ©2006-2010 Vfoxware Guide