Community Patterns

1

ตรวจสอบพยัญชนะต้นตัวสะกดสระและวรรณยุกต์ไทย

Created·2026-01-22 01:36
Updated·2026-01-23 12:42
Flavor·ECMAScript (JavaScript)
ตรวจสอบพยัญชนะต้น (ต้องมี) ตรวจตัวสะกดสำหรับสระที่ต้องมี ตรวจสอบการวางสระและวรรณยุกต์ไทย หมายเหตุ การตรวจสอบตัวสะกดในภาษาไทยตรวจสอบได้ยากเพราะภาษาไทยเป็นภาษาที่เขียนติด ๆ กันไม่มีการแบ่งคำอย่างชัดเจนทำให้การอ่านภาษาไทยผู้อ่านต้องใช้ความหมายของคำในการตัดสินการอ่านแบ่งคำตามความเหมาะสมเช่นคำว่า "ตากลม" อาจอ่านเป็น "ตาก-ลม" ก็ได้ หรืออ่านเป็น "ตา-กลม"ก็ได้ ดังนั้นการเขียน Regex เพื่อทำการตรวจสอบอาจช่วยได้ระดับหนึ่ง อ่าจมีผิดบ้างถูกบ้าง แต่ก็ถือว่าเป็นเครื่องมือที่ใช้ช่วยเหลือในการตรวจสอบเพิ่มเติมได้ 80% ของความเป็นไปใด้ก็แล้วกันนะครับ หวังว่าการเขียนเพิ่มเติมส่วนนี้ จะมีประโยชน์บ้างไม่มากก็น้อย
Submitted by อธิปัตย์ ล้อวงศ์งาม

Community Library Entry

0

Regular Expression
Created·2018-03-18 06:01
Flavor·PCRE (Legacy)

/
(?<freecall_7digitspecial>^180[ |-]{0,1}2[ |-]{0,1}[0-9]{1}[ |-]{0,1}[0-9]{2}$)|(?<freeANDlocalrate_3grouping_std>^1800|1300[ |-]{0,1}[0-9]{3}[ |-]{0,1}[0-9]{3}$)|(?<freeANDlocalrate_2grouping_std>^1800|1300[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}$)|(?<localrate_6digitspecial>^13[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}$)|(?<landlineGeoNSW_4grouping_8digit>^[1-9]{1}[0-9]{3}[ |-]{0,1}[0-9]{4}$)|(?<landlineGeoAreaCode_10digit>^0[2|3|7|8][ |-]{0,1}[0-9]{4}[ |-]{0,1}[0-9]{4}$)
/
g
Open regex in editor

Description

Supports: Priority and local call numbers - 13 XX XX, 1300 XXX XXX, 13XXXX, 1300 XX XX XX, 1300 XXXXXX, 130XXXXXX Freecall special numbers - 1802 XXX, 1802XXX Freecall numbers - 1800 XX XX XX, 1800 XXX XXX, 1800XXXXXX, 1800 XXXXXX landline numbers (no area code) - XXXX-XXXX, XXXXXXXX landline (areacode) - 0X XXXX-XXXX, 0X XXXXXXXX

Caveats:

  • Supports for space and hyphens where logical and popular
  • Landline areacode expects 02,03,07,08 areacode prefix
  • Landline no areacode will not accept a 0 as first digit
  • Priority Local rate 13 is 6 digits
  • Priority Local rate 1300 is 10 digits (no support for the 4 digit overrun)
  • Freecall Special 1802 is 7 digits
  • Freecall 1800 is 10 digits (no support for the 4 digit overrun)
  • No mobile
  • No International dialing prefix
  • No support for brackets on areacode or priority number prefix (conscious decision)

Reference used for rules: https://en.wikipedia.org/wiki/Telephone_numbers_in_Australia#Local_Rate_and_FreeCall_numbers_(13,_180) Wikipedia @ 18Mar2018

Submitted by Kool kat