ล่าสุดผมเขียนโปรแกรมหาเลขบัตรประจำตัวประชาชนหลักสุดท้ายด้วย JS พร้อมใช้งานเลย เข้าไปใช้กันได้ที่นี่เลยครับ https://spicydog.gitlab.io/thai-national-id-checker/
รอบนี้มาเขียนเลขฟังก์ชั่นสำหรับตรวจเลขบัตรประจำตัวประชาชนบน PHP อีกครั้ง
เนื่องด้วยหลังๆ มานี่ฝึกโดยใช้ map มากขึ้น ก็เลยลองเขียนใหม่แบบรวบๆ ดู ก็ได้หน้าตาประมาณนี้
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Validate Thai national ID * @param string $nationalId * @link https://th.wikipedia.org/wiki/เลขประจำตัวประชาชนไทย * @return bool */ public function isValidNationalId(string $nationalId) {   if (strlen($nationalId) === 13) {     $digits = str_split($nationalId);     $lastDigit = array_pop($digits);     $sum = array_sum(array_map(function($d, $k) {       return ($k+2) * $d;     }, array_reverse($digits), array_keys($digits)));     return $lastDigit === strval((11 - $sum % 11) % 10);   }   return false; } | 
