Developer Reference & Snippets
คู่มือ Open Source & โค้ดตัวอย่าง
แนะนำการใช้งานโปรเจกต์ Open Source ของ thutil พร้อมแจกโค้ดอัลกอริทึมแบบ Zero-dependency คัดลอกไปใช้ในโปรเจกต์ของคุณได้ทันที
1. โปรเจกต์ Open Source ในเครือ thutil
GitHub @thutilคุณสามารถเข้าถึงซอร์สโค้ดและทดลองใช้งาน Web Apps ของเราได้ผ่านลิงก์ด้านล่าง:
2. อัลกอริทึมตรวจสอบเลขบัตรประชาชน (Modulo 11 Checksum)
คัดลอกฟังก์ชัน JavaScript / TypeScript นี้ไปวางในโปรเจกต์ของคุณได้โดยตรง ไม่ต้องติดตั้งแพ็กเกจเพิ่ม (Zero-dependency):
function validateThaiCitizenId(id: string): boolean {
const cleanId = id.replace(/[^0-9]/g, '');
if (cleanId.length !== 13) return false;
if (cleanId.charAt(0) === '0') return false;
let sum = 0;
for (let i = 0; i < 12; i++) {
sum += parseInt(cleanId.charAt(i), 10) * (13 - i);
}
const checkDigit = (11 - (sum % 11)) % 10;
return checkDigit === parseInt(cleanId.charAt(12), 10);
} 3. สร้าง PromptPay Payload (EMVCo Standard)
ฟังก์ชันคำนวณ CRC16-CCITT สำหรับสร้าง Checksum 4 หลักท้ายของ QR Code พร้อมเพย์:
function calculateCRC16(data: string): string {
let crc = 0xFFFF;
for (let i = 0; i < data.length; i++) {
crc ^= data.charCodeAt(i) << 8;
for (let j = 0; j < 8; j++) {
if ((crc & 0x8000) !== 0) {
crc = ((crc << 1) ^ 0x1021) & 0xFFFF;
} else {
crc = (crc << 1) & 0xFFFF;
}
}
}
return crc.toString(16).toUpperCase().padStart(4, '0');
} 4. แปลงตัวเลขเป็นบาทภาษาไทย (BahtText Algorithm)
แปลงตัวเลขทศนิยมเป็นตัวหนังสือบาทไทยตามหลักการออกเสียงที่ถูกต้อง:
// ใช้งานเครื่องมือทดสอบออนไลน์ได้ทันทีที่ thutil.com/#tools
// รองรับตัวเลขหลักล้าน, เอ็ด, ยี่, สตางค์ และคำว่า "ถ้วน" อัตโนมัติ