ป้ายกำกับ: +66

เก็บหมายเลขโทรศัพท์กี่หลักดีเก็บหมายเลขโทรศัพท์กี่หลักดี

เป็นเรื่องปกติที่จะเก็บหมายเลขโทรศัพท์ไว้ใน database ที่เรารู้ ๆ คือ มือถือจะเป็น 10 หลัก โทรศัพท์บ้าน 9 หลัก แต่มันคือ ประเทศไทย แล้วประเทศอื่นละ ลูกค้าต่างชาติ


โครงสร้างหมายเลขโทรศัพท์

หมายเลขโทรศัพท์มือถือประกอบด้วย 2 ส่วนหลัก ๆ ได้แก่

  • รหัสประเทศ ( Country Code ): เป็นรหัสที่ใช้ระบุประเทศ เช่น +66 สำหรับประเทศไทย 🇹🇭 หรือ +1 สำหรับสหรัฐอเมริกา 🇺🇸 รหัสเหล่านี้มีจำนวนตั้งแต่ 1 ถึง 3 หลัก
  • หมายเลขโทรศัพท์ในประเทศ ( National Significant Number ): เป็นหมายเลขที่ใช้โทรภายในประเทศนั้น ๆ โดยจำนวนหลักจะแตกต่างกันไปในแต่ละประเทศ

จำนวนหลักสูงสุด

ตามคำแนะนำของสหภาพโทรคมนาคมระหว่างประเทศ ( International Telecommunication Union – ITU ) ซึ่งเป็นหน่วยงานที่กำหนดมาตรฐานการสื่อสารโทรคมนาคมทั่วโลก ได้กำหนดว่าหมายเลขโทรศัพท์มือถือที่ใช้สำหรับระบบโทรศัพท์ระหว่างประเทศ (E.164) สามารถมีความยาวได้สูงสุด 15 หลัก ตัวอย่างเช่น

  • 1 ( รหัสประเทศสหรัฐอเมริกา ) + 555 ( รหัสพื้นที่ ) + 5551234 ( หมายเลขโทรศัพท์ ) = 11 หลัก
  • 999 ( รหัสประเทศที่สมมติขึ้น ) + 12345678912 ( หมายเลขโทรศัพท์ ) = 14 หลัก

เก็บยังไงดี

  • รหัสประเทศ ( Country Code ) ถ้ามีการเก็บ Country Code อยู่แล้ว จริง ๆ เราก็ไม่จำเป็นต้องเก็บรหัสประเทศของโทรศัพท์อีก ?
    • ถ้าเป็นคนที่ไป ๆ มา ๆ ระหว่างประเทศละ แบบนี้การเก็บ รหัสประเทศแทนเลข 0 ตัวแรกไปเลย น่าจะดีกว่า อย่าง โปรแกรม Goolgle: Contacts เองก็เก็บแบบนี้
  • หมายเลขโทรศัพท์ในประเทศ ในเมื่อเรารวม รหัสประเทศ ไว้ในข้อมูลชุดเดียวกันแล้ว
    • เก็บเป็น varchar 15 ไปเลย พอแน่ ๆ
    • ui / ux ค่อยเขียนเงื่อนไขว่า ถ้าเป็นประเทศไทย (66)123456789 แบบนี้ค่อยเปลี่ยน รหัสประเทศ เป็น 0 เพื่อความเคยชิน รู้ว่าเป็นเบอร์ในประเทศ

อ่านเพิ่มเติม