โค้ด: เลือกทั้งหมด
public function check_id_card($cardid) {
$num_id = $cardid;
$group_1 = substr($num_id, 0, 1); // ดึงเอาเลขเลขตัวที่ 1 ของบัตรประชาชนออกมา
$group_5 = substr($num_id, 12, 12); // ดึงเอาเลขเลขตัวที่ 13 ของบัตรประชาชนออกมา
$num1 = $group_1;
$num2 = substr($num_id, 1, 1); // ดึงเอาเลขเลขตัวที่ 2 ของบัตรประชาชนออกมา
$num3 = substr($num_id, 2, 1); // ดึงเอาเลขเลขตัวที่ 3 ของบัตรประชาชนออกมา
$num4 = substr($num_id, 3, 1); // ดึงเอาเลขเลขตัวที่ 4 ของบัตรประชาชนออกมา
$num5 = substr($num_id, 4, 1); // ดึงเอาเลขเลขตัวที่ 5 ของบัตรประชาชนออกมา
$num6 = substr($num_id, 5, 1); // ดึงเอาเลขเลขตัวที่ 6 ของบัตรประชาชนออกมา
$num7 = substr($num_id, 6, 1); // ดึงเอาเลขเลขตัวที่ 7 ของบัตรประชาชนออกมา
$num8 = substr($num_id, 7, 1); // ดึงเอาเลขเลขตัวที่ 8 ของบัตรประชาชนออกมา
$num9 = substr($num_id, 8, 1);// ดึงเอาเลขเลขตัวที่ 9 ของบัตรประชาชนออกมา
$num10 = substr($num_id, 9, 1); // ดึงเอาเลขเลขตัวที่ 10 ของบัตรประชาชนออกมา
$num11 = substr($num_id, 10, 1);// ดึงเอาเลขเลขตัวที่ 11 ของบัตรประชาชนออกมา
$num12 = substr($num_id, 11, 1); // ดึงเอาเลขเลขตัวที่ 12 ของบัตรประชาชนออกมา
$num13 = $group_5;
// จากนั้นนำเลขที่ได้มา คูณ กันดังนี้
$cal_num1 = $num1 * 13; // เลขตัวที่ 1 ของบัตรประชาชน
$cal_num2 = $num2 * 12; // เลขตัวที่ 2 ของบัตรประชาชน
$cal_num3 = $num3 * 11; // เลขตัวที่ 3 ของบัตรประชาชน
$cal_num4 = $num4 * 10; // เลขตัวที่ 4 ของบัตรประชาชน
$cal_num5 = $num5 * 9; // เลขตัวที่ 5 ของบัตรประชาชน
$cal_num6 = $num6 * 8; // เลขตัวที่ 6 ของบัตรประชาชน
$cal_num7 = $num7 * 7; // เลขตัวที่ 7 ของบัตรประชาชน
$cal_num8 = $num8 * 6; // เลขตัวที่ 8 ของบัตรประชาชน
$cal_num9 = $num9 * 5; // เลขตัวที่ 9 ของบัตรประชาชน
$cal_num10 = $num10 * 4; // เลขตัวที่ 10 ของบัตรประชาชน
$cal_num11 = $num11 * 3; // เลขตัวที่ 11 ของบัตรประชาชน
$cal_num12 = $num12 * 2; // เลขตัวที่ 12 ของบัตรประชาชน
//นำผลลัพธ์ทั้งหมดจากการคูณมาบวกกัน
$cal_sum = $cal_num1 + $cal_num2 + $cal_num3 + $cal_num4 + $cal_num5 + $cal_num6 + $cal_num7 + $cal_num8 + $cal_num9 + $cal_num10 + $cal_num11 + $cal_num12;
//นำผลบวกมา modulation ด้วย 11 เพื่อหาเศษส่วน
$cal_mod = $cal_sum % 11;
//นำ 11 ลบ กับส่วนที่เหลือจากการ modulation
$cal_2 = 11 - $cal_mod;
//ถ้าหากเลขที่ได้มา มีค่าเท่ากับเลขสุดท้ายของเลขบัตรประชาชน ถูกว่ามีความถูกต้อง
if ($cal_2 == $num13) {
$resultt = หมายเลขประชาชนถูกต้อง;
} else {
$resultt = หมายเลขประชาชนไม่ถูกต้อง;
}
}
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb
แหล่งอ้างอิง
https://www.mindphp.com/บทความ/20-progr ... ะชาชน.html