PHP Script สุ่ม รหัส 13 หลัก อย่างง่าย
<?php
$id = array();
$tmp_digit = array();
$last_digit = 0;
for($i = 0,$operand = 13;$i < 12; $i++,$operand--){
if($i==0){
$tmp_digit[$i] = $id[$i] = rand(1,9);
}else{
$tmp_digit[$i] = $id[$i] = rand(0,9);
}
$tmp_digit[$i] = $tmp_digit[$i] * $operand;
$last_digit += $tmp_digit[$i];
}
$last_digit = $last_digit%11;
$last_digit = 11-$last_digit;
$last_digit = $last_digit%10;
$id[12] = $last_digit;
echo '<pre>';
print_r($id);
echo '</pre>';
?>
หลักการมันเป็นแบบนี้
หลักที่ 1
เลข 1 นั้นหมายถึงว่าที่ได้เป็นคนไทยที่ได้เกิดในประเทศไทยและได้มีสัญชาติไทย ซึ่งได้เกิดหลังจากวันที่ 1 มกราคม พ.ศ.2527 โดยที่ได้ไปแจ้งตามกำหนดเวลาที่ทางการได้กำหนดไว้ให้
เลข 2 ก็คือคนไทยที่ได้เกิดในประเทศไทยและมีสัญชาติของไทยแต่ว่าได้ไปแจ้งเกิดช้ากว่าที่ทางการกำหนดเอาไว้
เลข 3 คือคนไทยหรือว่าเป็นคนต่างด้าวก็ได้ที่มีชื่ออยู่ในทะเบียนบ้านตั้งแต่ก่อนวันที่ 31 พฤษภาคม พ.ศ. 2527
เลข 4 คือคนไทยหรือว่าคนต่างด้าวก็ได้ ที่มีมีเอกสารใบสำคัญคนต่างด้าวแต่ว่าแจ้งย้ายเข้า โดยที่ไม่ได้มีเลขบัตรประจำตัวประชาชน
เลข 5 คือคนที่ได้รับการเพิ่มเข้าไปเพราะว่าตกสำรวจ
เลข 6 คือคนที่เข้าเมืองแบบผิดกฏหมายแต่ไม่ได้อยู่ถาวร
เลข 7 นั้นก็คือลูกของบุคคลที่ได้เลข 6
เลข 8 นั้นก็คือคนต่างด้าวที่ได้เข้าเมืองแบบถูกกฏหมาย และได้รับสัญชาติไทย
หลักที่ 2ถึงที่ 3 นั้นก็คือนรหัสไปรศนีย์ของที่จดทะเบียนโดยสามารถดูได้เช่นใครที่ได้เลข 56 นั้นก็หมายถึงว่าได้ไปจดทะเบียนที่จังหวัดพะเยานั้นเอง
หลักที่ 4 - 5 นั้นก็หมายความว่าเป็นอำเภอว่าไปจดอะไรที่ไหน
หลักที่ 6 - 10 นั้นก็คือเลขประจำตัวในทะเบียนบ้าน
หลักที่ 11 - 12 เป็นการจัดลำดับว่าเป็นคนที่เท่าไรในบุคคลประเภทนั้นๆ
หลักที่ 13 นั้นก็คือเลขตรวจว่าเลขบัตรประจำตัวประชาชนนั้นถูกหรือเปล่า