ข้ามไปยังเนื้อหา

ค้นหาด้วยรหัสไปรษณีย์

ลองพิมพ์รหัสไปรษณีย์ในช่องด้านล่าง — ค่าเริ่มต้นคือ 45000 ซึ่งครอบคลุมถึง 33 ตำบล:

กำลังโหลดข้อมูลที่อยู่…

ถ้า query เป็นตัวเลขล้วนตั้งแต่ 2 หลักขึ้นไป searchThaiAddress จะส่งต่อไปยังการค้นหาด้วยรหัสไปรษณีย์โดยอัตโนมัติ ไม่ต้องเรียกฟังก์ชันแยก แต่ถ้าต้องการเรียกใช้ตรง ๆ ก็ทำได้ผ่าน lookupByZipCode(index, zip)

ผลลัพธ์จะเรียงให้รายการที่ตรงรหัสแบบเป๊ะ (exact match) ขึ้นก่อนเสมอ จากนั้นตามด้วยรายการที่ตรงแบบขึ้นต้นด้วย (prefix match) เรียงจากรหัสน้อยไปมาก

ทำไม zipLimit ถึงไม่จำกัด

หัวข้อ “ทำไม zipLimit ถึงไม่จำกัด”

รหัสไปรษณีย์หนึ่งรหัสสามารถครอบคลุมได้หลายตำบล เช่น 45000 ครอบคลุมถึง 33 ตำบล และจากรหัสไปรษณีย์ทั้งหมด 953 รหัสในระบบ มีถึง 230 รหัสที่ครอบคลุมมากกว่า 10 ตำบล

ถ้าตั้งค่า zipLimit เท่ากับ limit ของการค้นหาแบบข้อความ (ปกติคือ 10) ตำบลที่ถูกต้องจำนวนมากจะถูกซ่อนไปโดยไม่รู้ตัว จึงเป็นเหตุผลที่ demo ด้านบนตั้งค่าเริ่มต้นเป็น 45000 ไว้ — เพื่อให้เห็นผลลัพธ์จำนวนมากนี้ได้ทันทีที่หน้าโหลด

import { lookupByZipCode } from 'thaizip'
lookupByZipCode(index, '45000') // exact
lookupByZipCode(index, '450') // prefix scan